zabbix

  • 一、zabbix相关简介
    • 二、zabbix的安装部署
      • 三、zabbix的相关配置
        • 四、percona模版监控mysql
          • 五、自定义模版监控nginx状态
            • 六、自动发现与注册主机的配置

一、zabbix相关简介

zabbix是完全开源的工具,整合了cacti和nagios等特性。
SNMP(udp161 udp162)
众多网络工具都支持此协议,比如常见路由交换,常见OS其既可以做管理端也可以做被管理端。
snmp协议大致有3个版本分别是v1、v2、v3。
无论是v1和v2的安全性是比较差的,因为传输是明文的,V3的认证密码用MD5/SHA摘要算法加密。
很多工具支持网络管理的功能,而对于非网络设备(操作系统),可以完全抛开snmp这种不安全的架构来实现监控的。所以很多工具都是控制端和agent架构,他们有专属的agent。
1.zabbix的主要功能

(1)具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库、FTP等通用协议监控、多种告警方式、详细的报表图表绘制);(2)支持自动发现网络设备和服务器(可以通过配置自动发现服务器规则来实现);(3)支持分布式,能集中展示、管理分布式的监控点,扩展性强;(4)server提供通用接口(api功能),可以自己开发完善各类监控(根据相关接口编写程序实现),编写插件容易,可以自定义监控项,报警级别的设置;(5)数据收集,支持snmp(包括trapping and polling),IPMI,JMX,SSH,TELNET;(6)自定义的检测;(7)自定义收集数据的频率;(8)服务器/代理和客户端模式;(9)灵活的触发器,可以定义非常灵活的问题阈值,称为触发器;(10)高可定制的报警,发送通知,可定制的报警升级,收件人,媒体类型;(11)CPU负荷、内存使用、磁盘使用、网络状况、端口监视、日志监视等;

2.zabbix监控组件功能

硬件监控:Zabbix IPMI Interface 系统监控:ZabbixAgent Interface Java 监控:Zabbix JMX Interface 网络设备监控:Zabbix SNMP Interface 应用服务监控:Zabbix Agent UserParameterMySQL 数据库监控:percona-monitoring-plulgins URL 监控:Zabbix Web 监控

3.zabbix重要组件说明

(1)zabbix server:负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据都由它组织进行;(2)database storage:专用于存储所有配置信息,以及由zabbix收集的数据;(3)web interface:zabbix的GUI接口;(4)proxy:可选组件,常用于监控节点很多的分布式环境中,代理server收集部分数据转发到server,可以减轻server的压力;(5)agent:部署在被监控的主机上,负责收集主机本地数据如cpu、内存、数据库等数据发往server端或proxy端;

另外,zabbix server、proxy、agent都有自己的配置文件以及log文件,重要的参数需要在这里配置。
4.监控系统运行的流程
agentd需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。
这里agentd收集数据分为主动和被动两种模式:

主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy;被动:server向agent请求获取监控项的数据,agent返回数据;

5.zabbix常用的监控架构平台

(1)server-agentd模式
这个是最简单的架构,常用于监控主机比较少的情况。(2)server-proxy-agentd模式
这个常用于比较多的机器,使用proxy进行分布式监控,有效的减轻server端的压力。

6.zabbix的系统架构

zabbix是一个基于Web界面的提供分布式系统监视以及网络监视功能的企业级开源解决方案。借助zabbix,可以很轻松地减轻运维人员们繁重的服务器管理任务,实现业务系统的持续运行。下面会逐步介绍Zabbix分布式监控系统的部署及使用。
7.监控知识概述

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

8.怎么进行监控?
比如:监控硬盘使用率

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

9.流行的监控工具

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

10.新入职公司,如何入手监控

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

11.监控核心

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

12.单机监控

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

二、zabbix的安装部署

zabbix中文手册
注意:服务端若要监控本机,则需要配置本机的zabbix agent。

主机 IP 说明
zabbix监控服务器 192.168.229.187 zabbix的服务端
zabbix agent被监控主机 192.168.229.209 zabbix的客户端

1.安装zabbix
(1)安装zabbix源

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

如果不行,可以下载rpm包然后进行本地安装。
(2)安装zabbix服务端软件

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

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

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

(4)修改zabbix配置文件

[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf
定位此处添加:
DBPassword=zabbix
[root@localhost ~]# systemctl start zabbix-server
[root@localhost ~]# systemctl enable zabbix-server
[root@localhost ~]# systemctl start zabbix-agent
[root@localhost ~]# systemctl enable zabbix-agent

(5)修改httpd的时区

[root@localhost ~]# vim /etc/httpd/conf.d/zabbix.conf
定位20行:
php_value date.timezone Asia/Shanghai
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd

2.通过web界面初始化配置zabbix
浏览器访问:

http://192.168.229.187/zabbix







配置完成登录:
用户名:Admin
密 码:zabbix


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



3.开启centos客户端,测试zabbix监控
(1)安装zabbix-agent

[root@localhost ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm

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

[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
定位此处修改:
Server=192.168.229.187
[root@localhost ~]# systemctl start zabbix-agent
[root@localhost ~]# systemctl enable zabbix-agent

4.添加主机

点击配置--主机--点击创建主机--起个主机名称,群组选择Linux servers,被监控的IP地址
--点击模板--选择template os linux点击框内的添加到上面的模板处,然后点击下面的添加即可




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

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

三、zabbix的相关配置

1.分离zabbix数据库
(1)开启一台centos7虚拟机,安装mariadb-server,创建zabbix数据库和用户

[root@localhost ~]# hostname mariadb
[root@localhost ~]# bash
[root@mariadb ~]# systemctl stop firewalld
[root@mariadb ~]# setenforce 0
[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 -pasd123
create database zabbix character set utf8 collate utf8_bin;
grant all on zabbix.* to zabbix@'192.168.229.%' identified by 'asd123';

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

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

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

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

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

[root@zabbix-server ~]# vim /etc/zabbix/zabbix_server.conf
定位修改DBHost=192.168.229.160DBName=zabbixDBUser=zabbixDBPassword=asd123
[root@zabbix-server ~]# vim /etc/zabbix/web/zabbix.conf.php
定位修改$DB['TYPE']     = 'MYSQL';$DB['SERVER']   = '192.168.229.160';$DB['PORT']     = '0';$DB['DATABASE'] = 'zabbix';$DB['USER']     = 'zabbix';$DB['PASSWORD'] = 'asd123';

(5)重启zabbix和httpd服务

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

2.自定义监控–磁盘吞吐量
(1)检查磁盘的tps

[root@zabbix-agent ~]# yum -y install sysstat
[root@zabbix-agent ~]# iostat | awk '/^sda/{print $2}'
0.64

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

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

(3)客户端查看监控项

[root@zabbix-agent ~]# zabbix_agentd -p | grep iostat
iostat                                        [t|0.66]

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

[root@zabbix-server ~]# yum -y install zabbix-get
[root@zabbix-server ~]# zabbix_get -s 192.168.229.209 -p10050 -k iostat
0.66

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

配置--主机--找到对应主机--监控项--创建监控项--命名--键值(iostat)--信息类型(浮点数)--应用集名
监测--最新数据





3.zabbix报警音报警
(1)前端声音报警

右上角小人(用户)--正在发送信息--勾选


(2)添加触发器

配置--主机--找到对应主机--触发器--创建触发器--命名--严重性--添加表达式--选择监控项--间隔--结果--添加





4.zabbix邮件报警

(1)配置--动作--启用report--应用(2)右上角小人(用户)--报警媒介--添加--收件人邮箱地址(推荐使用qq邮箱)(3)管理--报警媒介类型--email--添加SMTP服务器:smtp.qq.com--端口:465--HELO:qq.com--SMTP电邮:1599840577@qq.com
--SSL/TLS--勾选--用户名称:1599840577@qq.com--密码:授权码(打开邮箱--设置--开启smtp服务--获取授权码--保存配置)(4)微信关联qq邮箱,实现微信报警首先点击进入微信“设置”选项。然后点击进入“账号与安全”设置选项。再点击进入“更多安全设置”选项。接着点击“邮箱地址”设置选项。最后输入需要绑定的邮箱地址,点击确定即可完成绑定





zabbix官方使用说明文档
5.邮件脚本报警
使用原因:企业使用centos6,zabbix2.*,zabbix没有email报警媒介模块。
(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=1599840577@qq.com
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=1599840577@qq.com
set smtp-auth-password=yuemqwmhdizdbjeg
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/
[root@zabbix-server ~]# echo 123 | mail -s test 1599840577@qq.com #测试邮件

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

[root@zabbix-server ~]# yum -y install dos2unix
[root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix-server alertscripts]# 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 alertscripts]# chmod +x email_notice.sh

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

管理--报警媒介类型--关闭已有的email报警--右上角“创建媒体类型”“名称,类型(脚本),脚本名称(必须写对),参数添加3个:{ALERT.SENDTO}、{ALERT.SUBJECT}、{ALERT.MESSAGE}”添加右上角--小人(用户)--报警媒介--“类型(邮件脚本,收件人:真实邮箱地址)”
添加--更新




6.微信报警
(1)申请企业微信

我的企业--复制企业ID:ww15f160c1bf39f6b1应用管理--创建应用--名称:报警机器人--选择部门--创建应用--点开报警机器人复制:AgentId 1000002,Secret ptoSa9IMqSOinnOJ2Bq6-4i_EBKJbZ8tcG6R6TlhknU

(2)编写python微信报警脚本,并修改企业id和用户密码
复制weixin.py到zabbix-server的/usr/lib/zabbix/alertscripts/下

[root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix-server alertscripts]# vim weixin.py
修改:
corpid='ww15f160c1bf39f6b1'  #企业ID
appsecret='ptoSa9IMqSOinnOJ2Bq6-4i_EBKJbZ8tcG6R6TlhknU' #报警机器人密码
agentid=1000002        #报警机器人ID#!/usr/bin/env python
#-*- coding: utf-8 -*-
import requests
import sys
import os
import json
import logginglogging.basicConfig(level = logging.DEBUG, format = '%(asctime)s, %(filename)s, %(levelname)s, %(message)s',
datefmt = '%a, %d %b %Y %H:%M:%S',
filename = os.path.join('/tmp','weixin.log'),
filemode = 'a')corpid='微信企业号corpid'
appsecret='应用的Secret'
agentid=应用的id
#获取accesstoken
token_url='https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + appsecret
req=requests.get(token_url)
accesstoken=req.json()['access_token']#发送消息
msgsend_url='https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + accesstokentouser=sys.argv[1]
subject=sys.argv[2]
#toparty='3|4|5|6'
message=sys.argv[2] + "\n\n" +sys.argv[3]params={"touser": touser,
# "toparty": toparty,
"msgtype": "text",
"agentid": agentid,
"text": {"content": message
},
"safe":0
}req=requests.post(msgsend_url, data=json.dumps(params))
logging.info('sendto:' + touser + ';;subject:' + subject + ';;message:' + message)
[root@zabbix-server alertscripts]# chmod 777 weixin.py
[root@zabbix-server alertscripts]# dos2unix -k weixin.py  #格式转换
[root@zabbix-server alertscripts]# touch /tmp/weixin.log
[root@zabbix-server alertscripts]# chown zabbix:zabbix /tmp/weixin.log #赋权weixin.log
[root@zabbix-server alertscripts]# ./weixin.py ZhangJie(企业微信账号) test 123456  #测试发送微信

(3)zabbix web关联

管理--报警媒介类型--右上角“创建媒体类型”“名称(微信报警),类型(脚本),脚本名称(必须写对)参数添加3个:{ALERT.SENDTO}、{ALERT.SUBJECT}、{ALERT.MESSAGE}”更新右上角--小人(用户)--报警媒介--“类型(微信报警,收件人:微信账号)”--添加--更新

(4)修改邮件通知内容
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.修改后,更新

7.创建图形

配置--主机--web1--图形--右上角“创建图形”--填写“名称”--添加“监控项”
点击最后一行“添加”

查看图形

监测--图形--选择“群组”--选择"主机"--选择“图形名称”

8.创建聚合图形

监测--聚合图形--创建聚合图形--填写聚合图形“名称”--添加--选择新建聚合图
--编辑聚合图形

四、percona模版监控mysql

zabbix模板文件下载
环境:zabbix服务端打开或安装一台mysql,并安装zabbix-agent,修改配置文件指向zabbix服务器

[root@client1-161 ~]# yum -y install zabbix-agent
[root@client1-161 ~]# cd /etc/zabbix/
[root@client1-161 zabbix]# vim zabbix_agentd.conf
Server=192.168.229.161

1.安装php环境
percona需要php环境

[root@client1-161 zabbix]# yum -y install php php-mysql

2.下载软件
注意,安装完成后会有提示模版的路径位置。

[root@client1-161 zabbix]# mkdir -p /data/soft
[root@client1-161 zabbix]# cd /data/soft
[root@client1-161 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@client1-161 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@client1-161 soft]# cd /var/lib/zabbix/percona/
[root@client1-161 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@client1-161 percona]# cd scripts/
[root@client1-161 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@client1-161 scripts]# sed -n '19p' get_mysql_stats_wrapper.sh RES=`HOME=~zabbix mysql -uroot -pasd123 -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n'

5.修改ss_get_mysql_stats.php

[root@client1-161 scripts]# sed -n '30,31p' ss_get_mysql_stats.php
$mysql_user = 'root';
$mysql_pass = 'asd123';

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

[root@client1-161 scripts]# cd /var/lib/zabbix/percona/templates/
[root@client1-161 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
[root@client1-161 templates]# cd /etc/zabbix/zabbix_agentd.d/
[root@client1-161 zabbix_agentd.d]# ls
userparameter_mysql.conf  userparameter_percona_mysql.conf

7.重启agent

[root@client1-161 zabbix_agentd.d]# systemctl restart zabbix-agent

8.zabbix服务端测试key

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

9.导入模版

配置--模板--导入--浏览导入文件--勾选“聚合图形”--最后“导入”

10.主机链接模版

配置--主机--创建主机--选择模板
五、自定义模版监控nginx状态

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

[root@zabbix-agent ~]# vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
[root@zabbix-agent ~]# yum -y install nginx

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

[root@zabbix-agent ~]# vim /etc/nginx/conf.d/default.conf
server字段添加:location /nginx_status {stub_status on;access_log off;}
[root@zabbix-agent ~]# systemctl restart nginx
[root@zabbix-agent ~]# curl 127.0.0.1/nginx_status/
Active connections: 1
server accepts handled requests6 6 6
Reading: 0 Writing: 1 Waiting: 0

2.准备nginx监控状态脚本

[root@zabbix-agent ~]# cd /etc/zabbix/zabbix_agentd.d
[root@zabbix-agent 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 ]; thenrm -f $CACHEFILE
fi
if [ ! -f $CACHEFILE  ];then$CMD >$CACHEFILE 2>/dev/null
finginx_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 inactive)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-agent zabbix_agentd.d]# chmod +x nginx_monitor.sh

3.编写zabbix监控配置文件

[root@zabbix-agent zabbix_agentd.d]# vim nginx_status.conf
UserParameter=nginx_status[*],/bin/bash /etc/zabbix/zabbix_agentd.d/nginx_monitor.sh $1
[root@zabbix-agent zabbix_agentd.d]# systemctl restart zabbix-agent
[root@zabbix-agent zabbix_agentd.d]# touch /tmp/nginx_status.txt
[root@zabbix-agent zabbix_agentd.d]# chown zabbix:zabbix /tmp/nginx_status.txt  #修改缓存文件权限

4.zabbix服务端使用zabbix_get取值

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

5.导入模版

配置--模板--导入--选取文件--勾选聚合图形--导入

6.链接模版

配置--主机--创建主机--主机名称--群组--选择下面的模板--链接指示器处选择导入的模板添加

7.查看数据

8.参考web1添加其它nginx服务器

配置--主机--web1--点击web1--选择“全克隆”--填写新nginx的ip
六、自动发现与注册主机的配置

1.创建自动发现规则
配置- - 自动发现- -创建发现规则- -自定义名称- -填写IP范围- -更新间隔- -添加检查(zabbix客户端,端口,键值system.uname)- -添加- -添加


2.创建自动发现动作
配置- -动作- -事件源(自动发现)- -创建动作- -自定义名称- -添加新的触发条件(选择刚才创建的自动发现规则)- -内部的添加- -操作(添加三个操作)- -添加



3.验证
监测- -自动发现

4.自动注册的配置
如果启用自动注册,需要把刚才的自动发现规则停用。

5.修改被发现agent端的配置文件

[root@zabbix-agent ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.229.187
ServerActive=192.168.229.187
HostMetadata=Linux
HostMetadataItem=system.uname
[root@zabbix-agent ~]# systemctl restart zabbix-agent

6.创建自动注册动作
配置- -动作- -事件源选择自动注册- -创建动作- -自定义名称- -触发条件(主机元数据、包含、Linux)- -内部添加- -操作里添加新的三个操作- -添加



7.验证自动注册
配置- -主机

监控工具zabbix安装及使用详解相关推荐

  1. 自动化监控--zabbix安装和配置详解

    规划: 准备三台主机分别为:监控节点(10.220.5.171).web节点(10.220.5.172),被监控节点(10.220.5.173). 监控节点安装:zabbix-server.zabbi ...

  2. mysql data文件夹恢复_【专注】Zabbix源码安装教程—步骤详解(2)安装并配置mysql...

    四.安装并配置mysql(1) 解压mysql-5.7.26.tar.gz与boost_1_59_0.tar.gz #tar -xvf mysql-5.7.26.tar.gz #tar -xvf bo ...

  3. php+mysql案例含源码_【专注】Zabbix源码安装教程—步骤详解(1)安装前准备

    一.实验环境准备 Rhel 7.6 x86_64(server) 192.168.163.72 Rhel 6.5 x86_64(agent) 192.168.163.61 均已配置操作安装光盘为YUM ...

  4. Zabbix 4.2.5 安装部署实践详解

    一.安装 1.安装CentOS操作系统,并配置网络 2.安装Zabbix官方源 rpm -ivh http://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zab ...

  5. centos 安装mysql5.7_Zabbix 4.2.5 安装部署实践详解

    [导读]云计算背景下,无论是大数据.物联网还是边缘计算,规模化后大量的设备需要保证正常运行,在人员一定的情况下,就需要提高运行维护效率.同时随着智能化被应用在人们生活的方方面面,关联性也越来越紧密,即 ...

  6. Linux下sysstat安装使用图文详解

    文章目录 Linux下sysstat安装使用图文详解 1.iostat 2.mpstat 3.sadc 4.sadf 5.sar 6.pidstat Linux下sysstat安装使用图文详解 Sys ...

  7. Linux iftop 安装与参数详解 【转】

    文章来源:Linux iftop 安装与参数详解 文章参考:Linux流量监控工具 - iftop (最全面的iftop教程) 介绍 iftop是一款实时流量监控工具,监控TCP/IP连接等,缺点就是 ...

  8. mysql-win安装教程,WINDOWS下安装MYSQL教程详解

    1.下载安装包 2.配置环境变量 2.1 解压所下载的压缩包 2.2 环境变量 win 10 电脑 这么进去 3.生成data文件 在你解压的目录下,eg:F:\Program Files\mysql ...

  9. python离线包安装_python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境...

    python的pip是其包管理工具,相当方便好用.本文只介绍pip 如何通过其freeze命令打离线包,及其离线包的安装脚本.这个知识点,特别适用于不适合连通互联网,设备需要物理隔绝,保密要求严格的客 ...

最新文章

  1. c语言:一个C文件可否调用另一个c文件中的函数
  2. mysql之 explain、optimizer_trace 执行计划
  3. 史上最全的SpringBatch学习教程
  4. Flask-RESTful 安装
  5. linux借助expect完成自动登录
  6. java 图形处理库_java中处理图片的类库
  7. 我的BERT!改改字典,让BERT安全提速不掉分(已开源)
  8. mongodb 导入 mysql_将mongodb 数据指定字段导出,然后指定字段导入mysql 实例 及相关问题解决...
  9. 新书进展和我的决定。
  10. 多元线性回归模型中多重共线性问题处理方法
  11. 免登陆Oracle下载jdk
  12. 安装axios时报错
  13. 大华相机抓图时间及最小时间间隔的测试
  14. c语言编写算术编码,算术编码C语言实现
  15. PDF如何转Excel?学会这3个方法,1分钟就能实现转换
  16. 如何用计算机的if,if函数的使用方法(if函数的使用方法)
  17. 在hadoop中伪分布式部署的命令与步骤
  18. uniapp实现简单的音乐播放器功能
  19. 码农不识贝叶斯,虽知数据也枉然
  20. 推荐一款很好看的Table样式-Tablecloth

热门文章

  1. 惠普HP DeskJet Ink Advantage 2776 驱动
  2. modelsim is exiting with code:211 10秒后自动关闭退出
  3. html自动登录蓝奏云,蓝奏云真实地址解析
  4. 网页爬虫实战:全国电动汽车充电站数据
  5. Ubuntu16.04 安装 CUDA、CUDNN、OpenCV 并用 Anaconda 配置 Tensorflow 和 Caffe 详细过程(此种方案不好,好的方案是另一篇,基于pyhton2的)
  6. 经典SQL Server语句大全(超详细)
  7. BCD编码和ASCII码
  8. 【苹果推软件】Apple IOS推送证书 如何创建CSR文件
  9. 复旦大学2019计算机考研,2019年复旦961软件工程专硕考研初试363+复试经验分享
  10. node.js 安装详细步骤