架构——12..15——Zabbix 的循序渐进

监控体系

1、监控知识概述

1)对系统和服务不间断的实时监控
2)实时反馈系统和服务状态
3)保证系统和服务可靠、安全
4)保证业务持续稳定运行
实时——反馈——可靠——持续

2、怎么进行监控,比如:监控硬盘使用率

1)查看磁盘使用率:df -hi
2)分析磁盘:block、inode
3)截取磁盘使用率: df -h | grep /$ |awk ‘{print $(NF-1)}’ |awk -F% ‘{print $1}’
4)设置触发器:>=80

3、流行的监控工具

1)cacti、nagios、zabbix
2)lepus(天兔)数据库监控系统
3)open-falcon 小米开源
4)Prometheus普罗米修斯(docker k8s)

4、新入职公司,如何入手监控

1)硬件、路由器、交换机、防火墙
2)系统监控:cpu 内存 磁盘 网络 进程 tcp
3)服务监控:nginx php tomcat redis memcache mysql
4)web监控: 请求时间 响应时间 加载时间
5)日志监控:ELK(收集、存储、分析、展示) 日志易
6)业务监控:活动引入流量 产生的注册量 带来多少价值

5、监控核心

1)发现问题
2)定位问题
3)解决问题
4)总结问题

6、单机监控

1)CPU: w top htop glances
2)内存:free 避免:OOM,全称“Out Of Memory” 现象
3)网络:ifconfig route glances iftop netstat
4)硬盘:df iostat

所需环境:

zabbix-server192.168.1.134
mariadb192.168.1.135
zabbix-client192.168.1.128

1、安装zabbix &基础配置

1)安装zabbix源:

#官方源
[root@zabbix-server ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm  	
#国内清华源
[root@zabbix-server ~]# rpm -Uvh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm  	

2)安装zabbix服务端软件

[root@zabbix-server ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent  mariadb-server

3)启动数据库,创建zabbix数据库

[root@zabbix-server ~]# systemctl start mariadb
[root@zabbix-server ~]# systemctl enable mariadb

[root@zabbix-server ~]# mysql_secure_installation 		#初始化密码
[root@zabbix-server ~]# mysql -uroot -ppwd123		#登录数据库
	
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;		#创建数据库
MariaDB [(none)]> grant all on zabbix.* to zabbix@localhost identified by 'zabbix';		#赋权
	
导入zabbix初始化数据:
[root@zabbix-server ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.22/create.sql.gz | mysql -uzabbix -pzabbix zabbix 

4)修改zabbix配置文件

[root@zabbix-server ~]# vim /etc/zabbix/zabbix_server.conf 
DBPassword=zabbix		#定位修改

[root@zabbix-server ~]# systemctl start zabbix-server
[root@zabbix-server ~]# systemctl enable zabbix-server

5)修改httpd的时区

[root@zabbix-server ~]# vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai		#定位20行

[root@zabbix-server ~]# systemctl restart httpd
[root@zabbix-server ~]# systemctl enable httpd

6)开启zabbix-agent(监控本机)

[root@zabbix-server ~]# systemctl start zabbix-agent
[root@zabbix-server ~]# systemctl enable zabbix-agent

2、通过web界面初始化配置zabbix:

http://192.168.1.134/zabbix 根据提示,填写数据库密码,然后,一律下一步
在这里插入图片描述
配置完成登录: 用户名:Admin 密 码:zabbix
在这里插入图片描述

修改中文显示

修改中文显示:Administration – Users – Admin – Language – Chinese – Update

3、开启centos客户端,测试zabbix监控

1)安装zabbix-agent

[root@zabbix-client ~]# rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm  	#官方源
[root@zabbix-client ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm  	#国内清华源

yum -y install zabbix-agent

2)修改agent配置文件,指向zabbix-server的ip地址

[root@zabbix-client ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.1.134		#修改

[root@zabbix-client ~]# systemctl start zabbix-agent
[root@zabbix-client ~]# systemctl enable zabbix-agent

4、添加主机

Zabbix(web管理界面)配置——>主机——>创建主机

5、在zabbix-server上修改图形中文乱码情况

[root@zabbix-server ~]# yum -y install wqy-microhei-fonts
[root@zabbix-server ~]# cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf

6、分离zabbix数据库

1)开启一台centos7,安装mariadb-server,创建zabbix数据库和用户

[root@mariadb ~]# yum -y install mariadb-server			#安装数据库
[root@mariadb ~]# systemctl start mariadb				#启动数据库
[root@mariadb ~]# systemctl enable mariadb
[root@mariadb ~]# mysql_secure_installation		#修改密码
[root@mariadb ~]# mysql -uroot -ppwd123			#登录数据库
mariadb > create database zabbix character set utf8 collate utf8_bin;		#创建数据库
mariadb > grant all on zabbix.* to zabbix@'%' identified by '123.com';		#赋权

2)在zabbix服务器上备份导出zabbix数据库(zabbix-server:192.168.1.134)

[root@zabbix-server ~]# mysqldump -uroot -ppwd123 --databases zabbix > `date +%F-%H`_zabbix.sql			#备份

3)在zabbix服务器上把备份的数据库文件导入到分布式数据库(mariadb:192.168.1.135)上

[root@zabbix-server ~]# cat 2020-07-04-08_zabbix.sql | mysql -h 192.168.1.135 -uzabbix -ppwd123 zabbix

4)修改zabbix-server上的数据库连接信息

[root@zabbix-server ~]# vim /etc/zabbix/zabbix_server.conf
DBHost=192.168.1.135
DBName=zabbix
DBUser=zabbix
DBPassword=pwd123

[root@zabbix-server ~]# vim /etc/zabbix/web/zabbix.conf.php
$DB['TYPE']     = 'MYSQL';
$DB['SERVER']   = '192.168.1.135';
$DB['PORT']     = '0';
$DB['DATABASE'] = 'zabbix';
$DB['USER']     = 'zabbix';
$DB['PASSWORD'] = 'pwd123';

5)重启zabbix和httpd服务

[root@zabbix-server ~]# systemctl restart zabbix-server httpd
[root@zabbix-server ~]# systemctl stop  mariadb

6)重新访问控制页面

依旧可以正常访问即可

7、自定义监控–磁盘吞吐量

1)检查磁盘的tps

[root@zabbix-client ~]# iostat |awk '/^sda/{print $2}'

2)在agent客户端的配置文件目录下新增监控配置文件(键值对命名法)

[root@zabbix-client ~]# vim /etc/zabbix/zabbix_agentd.d/iostat.conf
UserParameter=iostat,iostat |awk '/^sda/{print $2}'			#添加
[root@zabbix-client ~]# systemctl restart zabbix-agent

3)客户端查看监控项

[root@zabbix-client ~]# zabbix_agentd -p | grep iostat

4)在服务端安装zabbix-get,查看客户端(192.168.1.128)新增监控项

[root@zabbix-server ~]# rpm -Uvh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
[root@zabbix-server ~]# yum list zabbix-get
[root@zabbix-server ~]# yum -y install zabbix-get
[root@zabbix-server ~]# zabbix_get -s 192.168.1.128 -p10050 -k iostat

5)在zabbix web 界面进行监控项关联

配置——>主机——>找到对应主机——>监控项——>创建监控项——>命名(磁盘tps)——>键值(iostat)——>信息类型(浮点数)——>应用集名(disk)——>更新
监测——>最新数据
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8、Zabbix报警

zabbix前端报警音报警

1)前端声音报警

右上(用户)——>正在发送信息——>勾选前端信息中——>更新
在这里插入图片描述

2)添加触发器

配置——>主机——>找到对应主机——>触发器——>创建触发器——>名称(login_users_num)——>严重性(一般严重)——>添加表达式——>选择监控项——>间隔——>结果——>添加
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3)client开启多个终端,触发触发器报警,验证:

[root@zabbix-agent ~]# w
 01:21:12 up 44 min,  5 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.1.2      00:37    0.00s  0.48s  0.00s w
root     pts/1    192.168.1.2      01:20    1:11   0.08s  0.08s -bash
root     pts/2    192.168.1.2      01:20    1:04   0.09s  0.09s -bash
root     pts/3    192.168.1.2      01:21    3.00s  0.02s  0.02s -bash

触发触发器报警
在这里插入图片描述

zabbix(邮件&微信)报警

1)配置——>动作——>启用report——>应用
在这里插入图片描述

2)右上角小人(用户)——>报警媒介——>添加——>收件人邮箱地址(推荐使用qq邮箱)
在这里插入图片描述

3)管理——>报警媒介类型——>email:
添加SMTP服务器:smtp.qq.com
端口:465
HELO:qq.com
SMTP电邮:……qq.com
安全链接:SSL/TLS(勾选)
SSL验证对端 √
SSL验证主机 √
用户名称:……@qq.com
密码:授权码(打开邮箱——>设置——>开启smtp服务——>获取授权码——>保存配置)
在这里插入图片描述
在这里插入图片描述

验证(触发新的触发器报警,即可实现qq邮箱报警):
在这里插入图片描述
在这里插入图片描述

4)微信关联qq邮箱,实现微信报警
首先点击进入微信“设置”选项
然后点击进入“账号与安全”设置选项
再点击进入“更多安全设置”选项
接着点击“qq号”设置选项
最后输入需要绑定的qq及密码,点击确定即可完成绑定

验证(qq邮箱关联微信,实现微信报警):
在这里插入图片描述

邮件脚本报警

邮件脚本报警原因:企业使用centos6,zabbix2.* ,zabbix没有email报警媒介模块

官方文档:https://www.zabbix.com/documentation/4.0/zh/manual/

1、关闭zabbix-server上的邮件服务,安装mailx

[root@zabbix-server ~]# systemctl stop postfix
[root@zabbix-server ~]# systemctl disable postfix

[root@zabbix-server ~]# yum -y install mailx

2、编辑mailx的配置,指定收件邮箱和用户密码

[root@zabbix-server ~]# vim /etc/mail.rc
set from=………………@qq.com
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=………………@qq.com
set smtp-auth-password=…………………………			#qq邮箱授权码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/

[root@zabbix-server ~]# echo 123 | mail -s test ………………@qq.com			#测试邮件
不影响:证书错误:对等体的证书颁发者已被标记为不受信任。
Error in certificate: Peer's certificate issuer has been marked as not trusted by the.

3、zabbix-server编写邮件报警脚本

[root@zabbix-server ~]# yum -y install dos2unix
[root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix-server ~]# vim email_notice.sh
#!/bin/bash
#export UTF-8
FILE=/tmp/mail.txt
echo "$3" > $FILE
dos2unix -k $FILE
/bin/mail -s "$2" $1 < $FILE

[root@zabbix-server ~]# chmod +x email_notice.sh			#赋予执行权

4、zabbix web控制台关联邮件报警脚本

管理——>报警媒介类型——>关闭已有的email报警(只关email电子邮件即可)——>右上角“创建媒体类型”——>
在这里插入图片描述

名称(邮件脚本报警),类型(脚本),脚本名称(必须写对:email_notice.sh),参数添加3个:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
——>添加
在这里插入图片描述

右上角用户——>报警媒介——>“类型(邮件脚本,收件人:真实邮箱地址)”——>添加——>更新
在这里插入图片描述

5、client开启多个终端,触发邮件脚本报警,验证:

[root@zabbix-client ~]# w
 22:44:00 up 32 min,  5 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.1.2      22:12   22:24   0.08s  0.08s -bash
root     pts/1    192.168.1.2      22:43   10.00s  0.04s  0.04s -bash
root     pts/2    192.168.1.2      22:43    8.00s  0.03s  0.03s -bash
root     pts/3    192.168.1.2      22:43    0.00s  0.04s  0.00s w

邮箱即可收到报警信息:
在这里插入图片描述

企业微信报警

1)申请企业微信

企业ID:ww………………46
报警机器人ID:1000002
报警机器人密码:pt……………………………………nU

2)编写python微信报警脚本,并修改企业id和用户密码

复制weixin.py到zabbix-server的/usr/lib/zabbix/alertscripts/下!
[root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix-server alertscripts]# rz weixin.py
[root@zabbix-server alertscripts]# vim weixin.py
corpid='ww………………46'			#修改企业ID
appsecret='pt……………………………………nU'   		#修改报警机器人密码
agentid=1000002			#修改报警机器人ID

[root@zabbix-server ~]# chmod 777 weixin.py			#赋予执行权
[root@zabbix-server ~]# dos2unix -k weixin.py			#格式转换
[root@zabbix-server ~]# touch /tmp/weixin.log
[root@zabbix-server ~]# chown zabbix:zabbix /tmp/weixin.log		#赋权weixin.log

在这里插入图片描述

[root@zabbix-server ~]# ./weixin.py  账号  test 123345465		#测试发送微信(账号为你本人微信账号)

微信端接收到消息:
在这里插入图片描述

3)zabbix web关联

管理——>报警媒介类型——>右上角“创建媒体类型”——>
在这里插入图片描述

名称(微信报警),类型(脚本),脚本名称(必须写对:weixin.py),参数添加3个:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
——>添加
在这里插入图片描述

右上角用户——>报警媒介——>“类型(微信报警,收件人:企业微信账号)”——>添加——>更新
在这里插入图片描述

4)client开启多个终端或关闭,触发微信脚本报警,验证:

[root@zabbix-client ~]# w
 23:23:57 up  1:12,  5 users,  load average: 0.44, 0.11, 0.08
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.1.2      22:12    1:02m  0.08s  0.08s -bash
root     pts/1    192.168.1.2      23:23    6.00s  0.04s  0.04s -bash
root     pts/2    192.168.1.2      23:23    5.00s  0.03s  0.03s -bash
root     pts/3    192.168.1.2      23:23    3.00s  0.04s  0.00s w

微信即可收到报警信息:
在这里插入图片描述

9、自定义报警通知内容

1)自定义报警通知内容

配置——>动作——>Report problems to Zabbix administrators——>操作
修改默认标题:
主题:Problem: {EVENT.NAME}故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
修改消息内容:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
在这里插入图片描述

恢复操作:
修改默认标题:
恢复主题:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
修改恢复信息内容:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
在这里插入图片描述

2)修改后——>更新——>应用

3)client触发报警,微信接收报警消息验证:

[root@zabbix-client ~]# w
 23:34:37 up  1:23,  5 users,  load average: 0.01, 0.02, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.1.2      22:12    5.00s  0.08s  0.00s w
root     pts/1    192.168.1.2      23:34    9.00s  0.03s  0.03s -bash
root     pts/2    192.168.1.2      23:34    7.00s  0.03s  0.03s -bash
root     pts/3    192.168.1.2      23:34    4.00s  0.05s  0.05s -bash

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

10、图形及聚合图形

1)创建图形:

配置——>主机——>web1——>图形——>右上角“创建图形”——>名称(Linux-web1-磁盘tps)——>监控项(磁盘tps)——>添加
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2)查看图形:

监测——>图形——>群组(Linux servers)——>主机(web1)——>图形(Linux-web1-磁盘tps)
在这里插入图片描述

3)创建聚合图形:

监测——>聚合图形——>创建聚合图形——>名称(Linux-web1)——>添加——>选择新建聚合图形——>编辑聚合图形
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

zabbix模板文件下载:

https://www.zabbix.org/wiki/Zabbix_Templates/Official_Templates

11、percona模版监控mysql

环境:打开mysql:192.168.1.135,并安装zabbix-agent,修改配置文件指向zabbix服务器

[root@mariadb ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm
[root@mariadb ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.1.134
[root@mariadb ~]# systemctl restart zabbix-agent
[root@mariadb ~]# systemctl enable zabbix-agent

1、安装php环境

percona需要php环境

[root@mariadb ~]# yum install php php-mysql -y

2、下载软件

注意,安装完成后会有提示模版的路径位置

[root@mariadb ~]# mkdir /data/soft -p
[root@mariadb ~]# cd /data/soft/
[root@mariadb soft]# wget https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/redhat/7/x86_64/percona-zabbix-templates-1.1.8-1.noarch.rpm
[root@mariadb soft]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
警告:percona-zabbix-templates-1.1.8-1.noarch.rpm: 头V4 DSA/SHA1 Signature, 密钥 ID cd2efd2a: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:percona-zabbix-templates-1.1.8-1 ################################# [100%]

Scripts are installed to /var/lib/zabbix/percona/scripts
Templates are installed to /var/lib/zabbix/percona/templates

3、查看目录

进入安装目录会发现有2个目录,一个是脚本目录,一个是模版目录

[root@mariadb ~]# cd /var/lib/zabbix/percona/
[root@mariadb percona]# tree
.
├── scripts
│   ├── get_mysql_stats_wrapper.sh
│   └── ss_get_mysql_stats.php
└── templates
    ├── userparameter_percona_mysql.conf
    └── zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml

其中脚本目录里有2个脚本,用来获取数据库信息

[root@mariadb ~]# cd /var/lib/zabbix/percona/scripts/
[root@mariadb scripts]# ls
get_mysql_stats_wrapper.sh  ss_get_mysql_stats.php

4、修改get_mysql_stats_wrapper.sh

修改get_mysql_stats_wrapper数据库登陆信息
第19行添加mysql账号密码

[root@mariadb ~]# vim /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
RES=`HOME=~zabbix mysql -uroot -ppwd123 -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' 

5、修改ss_get_mysql_stats.php

定位修改30、31行

[root@mariadb ~]# vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
$mysql_user = 'root';
$mysql_pass = 'pwd123';

6、复制自定义监控项配置文件到zabbix目录

[root@mariadb ~]# cd /var/lib/zabbix/percona/templates/
[root@mariadb templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
[root@mariadb templates]# cd /etc/zabbix/zabbix_agentd.d/
[root@mariadb zabbix_agentd.d]# ls
userparameter_mysql.conf  userparameter_percona_mysql.conf

7、重启agent

[root@mariadb ~]# systemctl restart zabbix-agent

8、测试key

[root@zabbix-server ~]# zabbix_get -s 192.168.1.135 -k MySQL.Sort-scan
16

9、导入模版

配置——>模板——>导入——>浏览导入文件——>勾选(聚合图形)——>导入
在这里插入图片描述
在这里插入图片描述

10、主机链接模版

配置——>主机——>创建主机——>选择模板
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

11、查看

在这里插入图片描述

12、自定义模版监控nginx状态

环境:安装nginx服务器:192.168.1.128,并安装zabbix-agent,修改配置文件指向zabbix服务器

[root@zabbix-client ~]# yum -y install epel-release
[root@zabbix-client ~]# yum -y install nginx

1、开启监控页面并访问测试

[root@zabbix-client ~]# vim /etc/nginx/nginx.conf
定位到49行,添加:
location /nginx_status {
	stub_status on;
	access_log off;
}

systemctl restart nginx			#重启服务

[root@zabbix-client ~]# curl 127.0.0.1/nginx_status/
Active connections: 1 
server accepts handled requests
 6 6 6 
Reading: 0 Writing: 1 Waiting: 0 

2、准备nginx监控状态脚本

[root@zabbix-client ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@zabbix-client zabbix_agentd.d]# vim nginx_monitor.sh 
#!/bin/bash
NGINX_COMMAND=$1
CACHEFILE="/tmp/nginx_status.txt"
CMD="/usr/bin/curl http://127.0.0.1/nginx_status/"
if [ ! -f $CACHEFILE  ];then
   $CMD >$CACHEFILE 2>/dev/null
fi
# Check and run the script
TIMEFLM=`stat -c %Y $CACHEFILE`
TIMENOW=`date +%s`

if [ `expr $TIMENOW - $TIMEFLM` -gt 60 ]; then
    rm -f $CACHEFILE
fi
if [ ! -f $CACHEFILE  ];then
   $CMD >$CACHEFILE 2>/dev/null
fi

nginx_active(){
         grep 'Active' $CACHEFILE| awk '{print $NF}'
         exit 0;
}
nginx_reading(){
         grep 'Reading' $CACHEFILE| awk '{print $2}'
         exit 0;
}
nginx_writing(){
         grep 'Writing' $CACHEFILE | awk '{print $4}'
         exit 0;
}
nginx_waiting(){
         grep 'Waiting' $CACHEFILE| awk '{print $6}'
         exit 0;
}
nginx_accepts(){
         awk NR==3 $CACHEFILE| awk '{print $1}' 
         exit 0;
}
nginx_handled(){
         awk NR==3 $CACHEFILE| awk '{print $2}' 
         exit 0;
}
nginx_requests(){
         awk NR==3 $CACHEFILE| awk '{print $3}'
         exit 0;
}

case $NGINX_COMMAND in
    active)
        nginx_active;
        ;;
    reading)
        nginx_reading;
        ;;
    writing)
        nginx_writing;
        ;;
    waiting)
        nginx_waiting;
        ;;
    accepts)
        nginx_accepts;
        ;;
    handled)
        nginx_handled;
        ;;
    requests)
        nginx_requests;
        ;;
    *)
echo 'Invalid credentials';
exit 2;
esac

[root@zabbix-client zabbix_agentd.d]# chmod +x nginx_monitor.sh			#赋予执行权

3、编写zabbix监控配置文件

[root@zabbix-client ~]# vim /etc/zabbix/zabbix_agentd.d/nginx_status.conf
UserParameter=nginx_status[*],/bin/bash /etc/zabbix/zabbix_agentd.d/nginx_monitor.sh $1

[root@zabbix-client ~]# systemctl restart zabbix-agent

[root@zabbix-client ~]# touch /tmp/nginx_status.txt
[root@zabbix-client ~]# chown zabbix:zabbix /tmp/nginx_status.txt		#修改缓存文件权限

4、使用zabbix_get取值

[root@zabbix-server ~]# zabbix_get -s 192.168.1.128 -k nginx_status[accepts]
7

5、导入模版

配置——>模板——>导入——>浏览导入文件——>勾选(聚合图形)——>导入
在这里插入图片描述
在这里插入图片描述

6、链接模版

配置——>主机——>选择主机(web1)——>选择模板
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7、查看数据

在这里插入图片描述

13、克隆

参考web1克隆其他nginx服务器

配置——>主机——>web1——>点击web1——>选择“全克隆”——>填写新nginx的名称及ip
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值