zabbix(一)

1. 为什么需要监控

保证业务7*24小时,稳定运行
提前做监控,只要有问题立马报警,报警需要时间
有时候出的故障,故障处理需要时间

load average: 0.12, 5.28, 7.87
负载高峰期已经过去了

1分钟 5分钟  15分钟
load average: 7.87,5.28,0.12
负载高峰期要来了

nginx 业务日志,ip来源  url
zabbix 监控工具,监控系统

写shell脚本,读取当前内存的值,判断内存是否不足,如果内存不足,发送邮件
定时任务:分时日月周 命令

监控工具:
zabbix:  安装简单,功能强大,易用性比较强,扩展灵活 ,数据存储,数据分析
nagios:  没有数据库,不能做数据分析,
cacti:   数据库,做数据分析,自定义监控麻烦
open-falcon: 适合有开发基础的人去用
prometheus:插件比较少,最适合监控容器

2. 常见linux监控命令

cpu: top  htop  uptime  vmstat
内存: free
磁盘: df  iotop
网卡: iftop #查看IP地址占用流量  nethogs #查看进程占用流量
系统进程: ps  pstree #以树状的形式查看进程

3. zabbix基础架构

在这里插入图片描述
在这里插入图片描述

3. zabbix安装

部署一套zabbix监控系统
数据采集 zabbix-agent(被监控主机)
数据分析,报警 zabbix-server 核心程序(配置数据库的账号密码)
数据存储 支持多种数据库mysql,mariadb,pgsql,sqlite
数据展示 zbbix-web界面(配置数据库的账号密码)

yum安装软件(zabbix 安装LTS版本)

centos-base  基础软件包
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
zabbix yum仓库 repo文件  https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm

# 1. 添加zabbix的yum仓库,替换repo文件中下载地址为清华源
rpm -ivh  https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
sed -i "s#http://repo.zabbix.com/zabbix#https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix#g" zabbix.repo

# 2. yum安装zabbix-server-mysql,zabbix-web-mysql,数据库mysql,pgsql
yum install zabbix-server-mysql zabbix-web-mysql -y
yum install  mariadb-server -y

# 3. 启动配置数据库(创库,授权,导入初始数据)
systemctl start mariadb.service 
systemctl enable mariadb.service
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user 'zabbix'@'localhost' identified by '123456';
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';

rpm -ql zabbix-server-mysql # 查看这包有什么文件/usr/share/doc/zabbix-server-mysql-4.0.19/create.sql.gz

#导入初始数据
zcat /usr/share/doc/zabbix-server-mysql-4.0.49/create.sql.gz|mysql -uzabbix -p123456 zabbix
#验证数据导入
mysql -uzabbix -p123456 zabbix -e "show tables;"|head -6

# 4. 配置启动zabbix-server
vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456

systemctl start zabbix-server.service 
systemctl enable zabbix-server.service
e:配置zabbix-web(lamp)
vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai

systemctl start httpd
systemctl enable httpd
访问http://10.0.0.10/zabbix来安装
初始账号密码:Admin/zabbix

如果后期需要改动数据库的IP地址,可以到/etc/zabbix/web/zabbix.conf.php进行修改
Congratulations! You have successfully installed Zabbix frontend.
Configuration file "/etc/zabbix/web/zabbix.conf.php" created.

登录界面后修改密码和调整中文
# zabbix-server也需要通过zabbix-agent来监控自己,在zabbix-server上安装zabbix-agent, 安装、配置、启动
yum install zabbix-agent -y
systemctl start zabbix-agent.service 
systemctl enable zabbix-agent.service

4. zabbix监控主机

4.1 zabbix添加监控主机

10.0.0.11被监控主机安装zabbix-agent来采集数据,传递给服务端

# 1. yum安装配置启动zabbix-agent,在web01(10.0.0.11)上安装zabbix-agent(不需要配置zabbix仓库,直接下载rpm包即可)
yum install zabbix-agent -y
vim /etc/zabbix/zabbix_agentd.conf
Server=10.0.0.10

systemctl start zabbix-agent.service 
systemctl enable zabbix-agent.service 

# 剩下的步骤;web界面鼠标点点
zabbix-agent  配置文件中,Server的地址  127.0.0.1    

Template OS Linux 模板:
应用集 10 监控项 34 触发器 15 图形 5

监控项:34个监控指标,监控,取值
应用集就是对监控项进行分组
触发器:定义报警条件(阈值)
图形:根据多个监控项的值来出图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
zabbix特别好用的功能之一就是模板,模板里面定义了很多监控项
监控项不一定有触发器,监控项可以做数据分析

4.2 zabbix命令行自定义监控项

监控模板中不存在的监控项,这时需要自定义监控项

命令行监控io的读写速度

创建自定义监控项: 
1. 命令行取值
yum install sysstat.x86_64 -y
iostat|awk '$1~/sda/{print $2}'

tps                kB_read/s       kB_wrtn/s
每秒传输的次数     每秒读取的速度  每秒写入的数据

# 2. 修改zabbix-agent配置文件
UserParameter=<key>,<shell command>
key变量名称不能相同

vim /etc/zabbix/zabbix_agentd.conf
UserParameter=tps,iostat|awk '$1~/sda/{print $2}'

systemctl restart zabbix-agent.service 

# 3. 在zabbix-server上使用zabbix-get测试取值(在服务端安装  yum -y install zabbix-get)
zabbix_get -s 10.0.0.11 -k nginx_staus

# 4. 在web界面上给web01: 10.0.0.11添加监控项
前两步操作,是为了让web01支持监控tps值,zabbix-web决定要不要监控tps值

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4.2 zabbix脚本自定义监控项

监控模板中不存在的监控项,这时需要自定义监控项
脚本监控nginx的健康状态

# 1. 脚本取值/server/scripts/ngx_check.sh
[root@localhost scripts]# cat ngx_check.sh 
#!/bin/bash
status_code=$(ps -fe | grep nginx | wc -l)
if [ $status_code -lt 2 ]
then
        echo 0
else
        echo 1
fi

# 2. 修改zabbix-agent配置文件
[root@localhost scripts]# cat  /etc/zabbix/zabbix_agentd.conf|grep 
UserParameter=tps,iostat|awk '$1~/sda/{print $2}'
UserParameter=nginx_status,/server/scripts/ngx_check.sh
## 重启zabbix-agent
systemctl restart zabbix-agent.service 

# 3. 在zabbix-server上使用zabbix-get测试取值(在服务端安装  yum -y install zabbix-get)
[root@localhost ~]# zabbix_get -s 10.0.0.11 -k nginx_status
1

# 4. 在web界面上给web01: 10.0.0.11添加监控项

# 5. 值映射,在查看最新数据的时候,0和1显示效果不号,显示好看的话可以使用值映射(管理--一般--值映射--创建值映射)也可以自定义映射
1  up
0  down

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值