当前位置: 首页 > news >正文

【zabbix监控软件(配置及常用键值)】

监控软件–zabbix
同类产品:nagios、cacti
简介:能够部署企业级监控平台。

监控范围
1)zabbix + SNMP 监控网络设备
防火墙、交换机
2)zabbix + agent 监控
服务器:raid插槽 CPU 内存插槽 温度 风扇
操作系统:centos7 centos6 各种windows
应用软件:几乎所有的应用软件都可以监控
3)zabbix + ping(fping) 监控
节点的存活状态
4)zabbix + port 监控
服务的存活状态
5)zabbix + web 监控
服务的存活状态
6)zabbix + 数据收集 展示各个节点、服务的运行状态
zabbix 取到的值必须是数

官方网站:zabbix

zabbix的架构:
zabbix server	监控端
zabbix server:负责与被监控端或z proxy通信,将采集到的监控数据保存到z mysql中,然后通过web界面展示;
zabbix mysql:负责保存z server采集到的监控数据,数据类型是数,注意硬盘IO
zabbix proxy:部署在被监控端的x机房内部,在agent看来,就是z server,将采集到的数据传输给异地的z server。
zabbix agent	被监控端

部署步骤:
一、服务端配置

  1. 部署 z mysql
[root@zmysql ~]# rpm -ivh http://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm[root@zmysql ~]# wget http://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm[root@zmysql ~]# ls /etc/yum.repos.d/zabbix.repo 
/etc/yum.repos.d/zabbix.repo[root@zmysql ~]# yum install -y mariadb mariadb-server zabbix-server-mysql[root@zmysql /usr/share/mysql]# cp my-huge.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y[root@zmysql ~]# vim /etc/my.cnf
server-id       = 72
log_slave_updates
binlog-ignore-db = mysql
datadir = /data/mysql[root@zmysql ~]# mkdir -p /data/mysql
[root@zmysql ~]# chown -R mysql:mysql /data/mysql/[root@zmysql ~]# systemctl start mariadb
[root@zmysql ~]# systemctl enable mariadb[root@zmysql ~]# cd /data/mysql/
[root@zmysql /data/mysql]# ls[root@zmysql ~]# mysql
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all on zabbix.* to zabbix@'172.16.%' identified by '12345';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit导入数据:
[root@zmysql ~]# cd /usr/share/doc/zabbix-server-mysql-3.4.15/
[root@zmysql /usr/share/doc/zabbix-server-mysql-3.4.15]# ls
AUTHORS  ChangeLog  COPYING  create.sql.gz  NEWS  README
[root@zmysql /usr/share/doc/zabbix-server-mysql-3.4.15]# gunzip create.sql.gz 
[root@zmysql /usr/share/doc/zabbix-server-mysql-3.4.15]# mysql zabbix < create.sql [root@zmysql ~]# mysql zabbix
MariaDB [zabbix]> show tables;看到导入的表,OK!
  1. 部署 z server
[root@zmysql ~]# scp zabbix-release-3.4-2.el7.noarch.rpm 172.16.0.71:/root/[root@zserver ~]# rpm -ivh zabbix-release-3.4-2.el7.noarch.rpm [root@zserver ~]# yum install -y httpd php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlpc php-mbstring php-bcmath php-mhash zabbix-server-mysql zabbix-web-mysql zabbix-java-gateway zabbix-get支持中文:
[root@zserver /usr/share/fonts]# mkdir simkai在windows  C:\Windows\Fonts楷体常规把字体文件导入该目录下[root@zserver /usr/share/fonts/simkai]# ls
SIMKAI.TTF
[root@zserver /usr/share/fonts/simkai]# mv SIMKAI.TTF simkai.ttf[root@zserver /usr/share/zabbix/include]# vim defines.inc.php 53 define('ZBX_FONTPATH',          '/usr/share/fonts/simkai');54 define('ZBX_GRAPH_FONT_NAME',           'simkai')

启动httpd

[root@zserver ~]# vim /etc/httpd/conf/httpd.conf
164     DirectoryIndex index.php index.html[root@zserver ~]# vim /etc/php.ini384 max_execution_time = 300394 max_input_time = 300672 post_max_size = 16M878 date.timezone = Asia/Shanghai[root@zserver ~]# systemctl start httpd
[root@zserver ~]# systemctl enable httpd
编辑配置文件:
[root@zserver /etc/zabbix]# vim zabbix_java_gateway.conf 9 LISTEN_IP="0.0.0.0"17 LISTEN_PORT=1005235 START_POLLERS=50zabbix用于监控java程序的配置[root@zserver /etc/zabbix]# vim zabbix_server.conf zabbix的主配置文件91 DBHost=172.16.0.72
100 DBName=zabbix
116 DBUser=zabbix
124 DBPassword=12345
131 DBSocket=/var/lib/mysql/mysql.sock
139 DBPort=3306z server 连接 z mysql 的配置	261 JavaGateway=localhost
269 JavaGatewayPort=10052
277 StartJavaPollers=50z server 连接 java程序的配置z server 启动多少个线程与监控java程序的应用连接启动服务:
[root@zserver ~]# systemctl start zabbix-java-gateway
[root@zserver ~]# systemctl enable zabbix-java-gateway[root@zserver ~]# systemctl start zabbix-server
[root@zserver ~]# systemctl enable zabbix-server[root@zserver ~]# systemctl restart httpd[root@zserver ~]# netstat -antp | grep 1005[12]
tcp    0   0 0.0.0.0:10051     0.0.0.0:*      LISTEN      1426/zabbix_server  
tcp6   0   0 :::10051          :::*           LISTEN      1426/zabbix_server  
tcp6   0   0 :::10052          :::*           LISTEN      1388/java 

错误日志
[root@zserver ~]# cd /var/log/zabbix/
[root@zserver /var/log/zabbix]# ls
zabbix_java_gateway.log
zabbix_server.log

浏览器访问:http://172.16.0.71/zabbix/
用户名:Admin
密码: zabbix

二、监控节点配置

  1. zabbix agent – centos7
[root@zmysql ~]# scp zabbix-release-3.4-2.el7.noarch.rpm 172.16.0.31:/root/[root@nginx1 ~]# rpm -ivh zabbix-release-3.4-2.el7.noarch.rpm[root@nginx1 ~]# yum install -y zabbix-agent zabbix-sender[root@nginx1 ~]# cd /etc/zabbix/
[root@nginx1 /etc/zabbix]# ls
zabbix_agentd.conf  zabbix_agentd.d
[root@nginx1 /etc/zabbix]# vim zabbix_agentd.conf 97 Server=172.16.0.71## z server的IP
138 ServerActive=172.16.0.71:10051## z server的IP:port
149 Hostname=SY172.16.0.31## 定义本机的主机名[root@nginx1 ~]# systemctl start zabbix-agent
[root@nginx1 ~]# systemctl enable zabbix-agent[root@nginx1 ~]# netstat -antp | grep 10050
tcp    0  0 0.0.0.0:10050   0.0.0.0:*   LISTEN      1050/zabbix_agentd
tcp6   0  0 :::10050        :::*        LISTEN      1050/zabbix_agentd添加主机:主机名称:配置文件中定义的可见的名称:有意义  项目名-角色-IP群组:如果没有,需要创建接口:

主机群组:自带一部分,zabbix原生模板
定义主机组:按照项目规划
模板:
原生模板
从第三方 git-hub上下载的
自定义模板

应用集:一类监控项的归纳监控项:负责从 z agent 取到监控数据的名称:有代表意义,中间不要带 “空格”触发器:这个监控项有几个触发器键值:使用键值才能从agent取到数据间隔:z server 间隔多长时间去 agent 取一次数据历史记录:历史数据的保存时间 建议 1w趋势:在一段时间内,采集的数据是呈现上升或是下降类型:监控项的类型应用集状态:已启用 停用的 未支持的 触发器:当z server采集到的数据达到触发器的阈值,就会触发报警
图形:展示采集到的数据
主机:监控对象
维护:在维护周期时间内,不会触发报警
动作:当触发器的阈值被触发以后,动作会给报警媒介发送消息,给报警接收人发送报警信息
自动发现:可以批量添加主机

z server使用 键值 采集agent数据,保存在 z mysql中,数据会以图谱的形式在web界面展示。
当采集到的数据达到触发器的阈值时,会触发报警动作,通过报警媒介给报警接收人发送消息。

三、自定义模板

  1. 使用原生键值
(1)CPUCPU 的负载system.cpu.load[,avg1]CPU 的 idlesystem.cpu.util[,idle]
(2)内存vm.memory.size[<mode>] 剩余vm.memory.size[pavailable]使用vm.memory.size[pused]总vm.memory.size[total](3)交换分区空闲百分比 system.swap.size[,pfree] 使用百分比 system.swap.size[,pused] (4)硬盘读 vfs.dev.read[<device>,<type>,<mode>] vfs.dev.read[/dev/mapper/centos-root,sps]写 vfs.dev.write[<device>,<type>,<mode>] vfs.dev.write[/dev/mapper/centos-root,sps] 分区的使用情况inode vfs.fs.inode[fs,<mode>]vfs.fs.inode[/,pfree]block vfs.fs.size[fs,<mode>] vfs.fs.size[/,pfree](5) 网卡的IOIn	net.if.in[ens32]Out	net.if.out[ens32]

在 z server 校验键值

[root@zserver ~]# zabbix_get -s 172.16.0.31 -p 10050 -k vfs.fs.size[/,pfree]
97.152441

[root@zserver ~]# zabbix_get -s 172.16.0.31 -p 10050 -k vfs.fs.inode[/,pfree]
99.832706

四、监控服务的端口和状态:

端口:apache	tcp/80nginx	tcp/80mysql	tcp/3306tomcat	tcp/8080NFS		tcp/2049ftp		tcp/21net.tcp.listen[port] 
监控端口的监听状态
[root@zserver ~]# zabbix_get -s 172.16.0.31 -p 10050 -k net.tcp.listen[80]
1net.tcp.port[<ip>,port] 
监控端口是否可以被连接
[root@zserver ~]# zabbix_get -s 172.16.0.31 -p 10050 -k net.tcp.port[,80]
1net.tcp.service[service,<ip>,<port>] 
监控服务是不是down了
[root@zserver ~]# zabbix_get -s 172.16.0.31 -p 10050 -k net.tcp.service[http,,80]
1

五、监控mysql-server

1 安装软件
[root@nginx1 ~]# scp zabbix-release-3.4-2.el7.noarch.rpm 172.16.0.51:/root/[root@mysqlA1 ~]# rpm -ivh zabbix-release-3.4-2.el7.noarch.rpm [root@mysqlA1 ~]# yum install -y zabbix-agent zabbix-sender2 写配置文件
[root@nginx1 ~]# scp /etc/zabbix/zabbix_agentd.conf 172.16.0.51:/etc/zabbix/[root@mysqlA1 ~]# vim /etc/zabbix/zabbix_agentd.conf
Hostname=SY172.16.0.513 启动服务
[root@mysqlA1 ~]# systemctl start zabbix-agent
[root@mysqlA1 ~]# systemctl enable zabbix-agent[root@mysqlA1 ~]# netstat -antp | grep 10050
tcp    0  0 0.0.0.0:10050    0.0.0.0:*   LISTEN      1295/zabbix_agentd  
tcp6   0  0 :::10050         :::*        LISTEN      1295/zabbix_agentd4 浏览器添加主机
  • 二进制安装需要注意userparameter_mysql.conf
[root@mysqlA1 /etc/zabbix/zabbix_agentd.d]# ls
userparameter_mysql.conf[root@mysqlA1 /etc/zabbix/zabbix_agentd.d]# vim userparameter_mysql.confUserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -N | awk '{print $$2}'UserParameter=	自定义键值mysql.status[*]	键值;* 通配符,	键值 和 shell命令的分隔符(1) root 密码
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -u root -p'密码' -N 2> /dev/null | awk '{print $$2}'(2) bin包安装
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix /usr/local/mysql/bin/mysql -u root -p'密码' -N 2> /dev/null | awk '{print $$2}'

六、监控nginx状态

NginxStatus在虚拟主机里面添加:location /NginxStatus {stub_status on;}[root@nginx1 /usr/local/nginx]# ./sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@nginx1 /usr/local/nginx]# ./sbin/nginx -s reload[root@nginx1 ~]# curl http://127.0.0.1/NginxStatus
Active connections: 1 	要这个
server accepts handled requests4 4 2 
Reading: 0 Writing: 1 Waiting: 0 [root@nginx1 ~]# curl http://127.0.0.1/NginxStatus 2> /dev/null | awk '/Active/{print $NF}'
1自定义键值:
[root@nginx1 /etc/zabbix/zabbix_agentd.d]# vim userparameter_nginx.conf 
UserParameter=nginx.active,curl http://127.0.0.1/NginxStatus 2> /dev/null | awk '/Active/{print $NF}'[root@nginx1 ~]# systemctl restart zabbix-agentz server测试:
[root@zserver ~]# zabbix_get -s 172.16.0.31 -p 10050 -k nginx.active
1

七、配置报警

1. 数据采集 已经完成2. 配置触发器(1)资源类cpuloadidle剩余率15	警告级别10	严重级别5	错误(灾难)级别
当前最新的idle剩余率<=15  并且 5分钟之内一直在持续这个状态last() <=15 and max(5m) <=15内存剩余率15	警告级别10	严重级别5	错误(灾难)级别
当前最新的内存剩余率 <= 15last(#1) <=15last(0)  <=15last()   <=15硬盘inode和block剩余率15	警告级别10	严重级别5	错误(灾难)级别网卡流量swap的剩余率(2)服务和节点状态服务的端口0	关闭1	正常节点的状态0	不通1	通函数:last()	最新的值sum()	求和min()	最小值max()	最大值表达式:时间单位是 秒1m	= 60数据单位是 字节1k  = 10243. 报警媒介邮件微信短信4. 报警动作报警的消息:简单直接描述清楚谁的什么现在是[警告]级别,当前值的多少。谁	{HOST.NAME1}	主机信息	可见的名称什么{ITEM.NAME1}	监控项信息	监控项的名称多少{ITEM.VALUE1}	值报警消息
{HOST.NAME1}的{ITEM.NAME1}现在是[警告]级别,当前值是{ITEM.VALUE1}。
恢复消息
{HOST.NAME1}的{ITEM.NAME1}使用率由[警告]恢复正常。报警消息
{HOST.NAME1}的{ITEM.NAME1}现在是[严重]级别,当前值是{ITEM.VALUE1}。
恢复消息
{HOST.NAME1}的{ITEM.NAME1}使用率由[严重]恢复正常。报警消息
{HOST.NAME1}的{ITEM.NAME1}现在是[灾难]级别,当前值是{ITEM.VALUE1}。
恢复消息
{HOST.NAME1}的{ITEM.NAME1}使用率由[灾难]恢复正常。测试报警:
[root@nginx1 ~]# dd if=/dev/zero of=/dev/null 消耗CPU[root@nginx1 /tmp]# dd if=/dev/zero of=f1 bs=1M count=2048消耗block

八、部署 z proxy

1. 安装
[root@nginx1 ~]# scp zabbix-release-3.4-2.el7.noarch.rpm 172.16.0.70:/root/[root@zproxy ~]# yum install -y zabbix-proxy-mysql zabbix-get zabbix-java-gateway mariadb-server2. 配置(1)mariadb
[root@zproxy ~]# systemctl start mariadb
[root@zproxy ~]# systemctl enable mariadbMariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all on zabbix_proxy.* to zabbix@'localhost' identified by '12345';
MariaDB [(none)]> flush privileges;导入数据库:
[root@zproxy ~]# cd /usr/share/doc/zabbix-proxy-mysql-3.4.15/
[root@zproxy /usr/share/doc/zabbix-proxy-mysql-3.4.15]# ls
AUTHORS  ChangeLog  COPYING  NEWS  README  schema.sql.gz
[root@zproxy /usr/share/doc/zabbix-proxy-mysql-3.4.15]# gunzip schema.sql.gz 
[root@zproxy /usr/share/doc/zabbix-proxy-mysql-3.4.15]# mysql zabbix_proxy < schema.sql [root@zproxy ~]# mysql zabbix_proxy
MariaDB [zabbix_proxy]> show tables;看到表,OK(2)z proxy
[root@zproxy /etc/zabbix]# vim zabbix_java_gateway.conf
LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
START_POLLERS=50[root@zproxy /etc/zabbix]# vim zabbix_proxy.conf 
## 连接 z server
ProxyMode=0
Server=172.16.0.71
ServerPort=10051
Hostname=SYproxy
## 连接数据库
DBHost=localhost
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=12345
DBSocket=/var/lib/mysql/mysql.sock
DBPort=3306
## 间隔多长时间,向z server 传输数据
ConfigFrequency=3
DataSenderFrequency=1
## 连接java
JavaGateway=localhost
JavaGatewayPort=10052
StartJavaPollers=50[root@zproxy ~]# systemctl start zabbix-java-gateway
[root@zproxy ~]# systemctl enable zabbix-java-gateway[root@zproxy ~]# systemctl start zabbix-proxy
[root@zproxy ~]# systemctl enable zabbix-proxy[root@zproxy ~]# netstat -antp | grep 1005[12]
tcp     0      0 0.0.0.0:10051    0.0.0.0:*    LISTEN      1653/zabbix_proxy   
tcp6    0      0 :::10051         :::*         LISTEN      1653/zabbix_proxy   
tcp6    0      0 :::10052         :::*         LISTEN      1615/java  

http://www.mrgr.cn/news/26333.html

相关文章:

  • Qt常用控件——QTextEdit
  • 心觉:收钱就像喝水一样简单,是如何做到的?
  • lvs命令介绍
  • 尤雨溪推荐的拖拽插件,支持Vue2/Vue3 VueDraggablePlus
  • 【LeetCode】每日一题 2024_9_13 预算内的最多机器人数目(滑动窗口、单调队列)
  • 论文速递! Attention-LSTM特征融合,用于剩余使用寿命(RUL)预测
  • 会计信息化:从核算软件到智能系统
  • 力扣3014.输入单词需要的最少按键次数I
  • 【STM32】独立看门狗(IWDG)原理详解及编程实践(上)
  • Linux 防火墙:iptables (二)
  • Docker和Docker-compose
  • jQuery以及jQuery的选择器
  • NEXT.js 中间件 NextResponse.redirect 无效
  • JS - 获取剪切板内容 Clipboard API
  • 从控制系统角度理解拉普拉斯卷积定理
  • 2024.9.13 系统运维
  • Java铸基之路:运算符的深入学习!(上)
  • SQL Server 语句日期格式查找方法
  • axure循环介绍
  • 五种IO模型与非阻塞IO