zabbix自定义监控

zabbix自定义监控

一、自定义监控进程

hostnameip安装的应用
服务端zabbix.server.com192.168.200.39lamp架构,zabbix server,zabbix agent
客户端node01.domain.example.com192.168.200.22zabbix agent
部署流程:
1.配置监控端配置文件,配置监控脚本

监控端配置文件,自定义监控

[root@node01 ~]# vim /usr/local/etc/zabbix_agentd.conf
Server=192.168.200.39
ServerActive=192.168.200.39
Hostname=22linux
UnsafeUserParameters=1
UserParameter=show_process[*],/bin/bash /script/showprocess.sh $1


# UserParameter格式如下
# UserParameter=<key>,<shell command>
# show_process[*]                   对应  <key>
# /bin/bash /script/showprocess.sh  对应  <shell command>
# $1                                对应  web界面配置监控项 配key时[]中的内容,服务名 如:show_process[‘postfix’]

重启zabbix—agent服务

[root@node01 ~]# systemctl restart zabbix_agentd

编写脚本,功能:判断进程

[root@node01 ~]# vim /script/showprocess.sh
[root@node01 ~]# cat /script/showprocess.sh 
#!/bin/bash
process=$(ps -ef|grep "$1" |grep -Ev "grep|$0" | wc -l)
# 过滤服务,过滤脚本本身输入的服务名,统计行
# $process 取到 1 时服务未启动 相反0在。 -eq 相等
if [ $process -eq 0 ];then
        echo "1"
else
        echo "0"
fi
[root@node01 ~]# chmod +x /script/showprocess.sh

服务端验证新建的监控项

[root@zabbix ~]# zabbix_get -s 192.168.200.22 -k show_process['postfix']
1
# 返回值1 postfix服务未启动
[root@zabbix ~]# zabbix_get -s 192.168.200.22 -k show_process['zabbix_agent']
0
# 返回值0 zabbix_agent服务未启动
二、创建监控主机/主机组
访问https://blog.csdn.net/m0_74337295/article/details/133311462?spm=1001.2014.3001.5501
三、创建自定义监控项

在这里插入图片描述

四、创建触发器

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

五、创建媒介、报警通知(邮件)
访问https://blog.csdn.net/m0_74337295/article/details/133323083?spm=1001.2014.3001.5501
六、查看监控数据

在这里插入图片描述

二、自定义监控日志

hostnameip安装的应用
服务端zabbix.server.com192.168.200.39lamp架构,zabbix server,zabbix agent
客户端node01.domain.example.com192.168.200.22zabbix agent
部署流程:
1.配置监控端配置文件,配置监控脚本

监控端配置文件,自定义监控打开

[root@node01 ~]# yum -y install python3
[root@RedHat8-2 ~]# vim /usr/local/etc/zabbix_agentd.conf
Server=192.168.200.39
ServerActive=192.168.200.39
Hostname=22linux
UnsafeUserParameters=1
UserParameter=check_logs[*],python3 /script/log.py $1 $2 $3


# UserParameter格式如下
# UserParameter=<key>,<shell command>
# show_process[*]                   对应  <key>
# /bin/bash /script/showprocess.sh  对应  <shell command>
# $1                                对应  web界面配置监控项 配key时[]中的内容为日志文件名
# $2                                对应  seek position文件
# $3                                对应  搜索关键字,默认为 Error

重启zabbix_agentd服务

[root@node01 ~]# systemctl restart zabbix_agentd

文件放在 /script/ 下 给运行权限

[root@node01 script]# chmod +x log.py 
[root@node01 script]# ls
log.py

在服务端验证新建的监控项

[root@node01 ~]# vim /tmp/test.log
[root@node01 ~]# cat /tmp/test.log
hello world
Error
[root@zabbix ~]# zabbix_get -s 192.168.200.22 -k check_logs['/tmp/test.log']
1
二、创建监控主机/主机组
访问https://blog.csdn.net/m0_74337295/article/details/133311462?spm=1001.2014.3001.5501
三、创建自定义监控项

在这里插入图片描述

四、创建触发器

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

五、创建媒介、报警通知(邮件)
访问https://blog.csdn.net/m0_74337295/article/details/133323083?spm=1001.2014.3001.5501
六、查看监控数据

三、自定义监控MySQL主从状态

hostnameip安装的应用
服务端zabbix.server.com192.168.200.39lamp架构,zabbix server,zabbix agent
node02.domain.example.com192.168.200.31Mariadb(主)
客户端node01.domain.example.com192.168.200.22zabbix agent,Mariadb(从)
部署流程:
一、设置mysql主从(主库)
#在主数据库里创建一个同步账号授权给从数据库使用
MariaDB [(none)]> create user 'abc'@'192.168.200.22' identified by 'abc123';
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> grant replication slave on *.* to 'abc'@'192.168.200.22';
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.001 sec)

#配置主数据库
[root@node02 ~]# vi /etc/my.cnf.d/mariadb-server.cnf
//在[mysqld]这段的后面加上如下内容
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-bin=mysql-bin   //启用binlog日志
server-id=2     //数据库服务器唯一标识符,主库的server-id值必须比从库的大
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid 

#重启mysql服务
[root@node02 ~]# systemctl restart mariadb

#查看主库状态
MariaDB [(none)]> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      328 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.000 sec)
二、设置mysql主从(从库)
#配置从数据库
[root@node01 ~]# vi /etc/my.cnf.d/mariadb-server.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

server-id=1     //设置从库的唯一标识符,从库的server-id值必须小于主库的该值
relay-log=mysql-relay-bin       //启用中继日志relay-log
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

#重启从库的mysql服务
[root@node01 ~]# systemctl restart mariadb

#配置并启动主从复制
MariaDB [(none)]> CHANGE MASTER TO
    -> MASTER_HOST='192.168.200.31',
    -> MASTER_USER='abc',
    -> MASTER_PASSWORD='abc123',
    -> MASTER_LOG_FILE='mysql-bin.000001',
    -> MASTER_LOG_POS=328;                
Query OK, 0 rows affected (0.020 sec)

MariaDB [(none)]> start slave;
Query OK, 0 rows affected (0.002 sec)

#查看从服务器状态
MariaDB [(none)]> show slave status \G
*************************** 1. row ***************************
                Slave_IO_State: Waiting for master to send event
                   Master_Host: 192.168.200.31
                   Master_User: abc
                   Master_Port: 3306
                 Connect_Retry: 60
               Master_Log_File: mysql-bin.000001
           Read_Master_Log_Pos: 328
                Relay_Log_File: mysql-relay-bin.000002
                 Relay_Log_Pos: 555
         Relay_Master_Log_File: mysql-bin.000001
              Slave_IO_Running: Yes   //查看从服务器状态
             Slave_SQL_Running: Yes   //查看从服务器状态
三、(MySQL从库端)zabbix配置文件、脚本
[root@node01 ~]# vim /usr/local/etc/zabbix_agentd.conf

[root@node01 script]# vim mysql_status.sh
[root@node01 script]# cat mysql_status.sh 
#!/bin/bash

count=$(mysql -uroot -p12345678 -e 'show slave status\G' | grep -i 'running:' | grep -c 'Yes')
if [ $count -ne 2 ];then
        echo '1'
else
        echo '0'
fi
[root@node01 script]# chmod +x mysql_status.sh
[root@node01 ~]# vim /usr/local/etc/zabbix_agentd.conf
Server=192.168.200.39
ServerActive=192.168.200.39
Hostname=22linux
UnsafeUserParameters=1
UserParameter=check_mysql_status,/bin/bash /script/mysql_status.sh
[root@node01 ~]# systemctl restart zabbix_agentd

在服务端验证新建的监控项

[root@zabbix ~]# zabbix_get -s 192.168.200.22 -k check_mysql_status
0
四、创建监控主机/主机组
访问https://blog.csdn.net/m0_74337295/article/details/133311462?spm=1001.2014.3001.5501
五、创建自定义监控项

在这里插入图片描述

六、创建触发器

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

七、创建媒介、报警通知(邮件)
访问https://blog.csdn.net/m0_74337295/article/details/133323083?spm=1001.2014.3001.5501
八、查看监控数据
#闭关服务器
MariaDB [(none)]> stop slave;
Query OK, 0 rows affected (0.003 sec)
#查看状态
MariaDB [(none)]> show slave status \G
*************************** 1. row ***************************
                Slave_IO_State: 
                   Master_Host: 192.168.200.31
                   Master_User: abc
                   Master_Port: 3306
                 Connect_Retry: 60
               Master_Log_File: mysql-bin.000002
           Read_Master_Log_Pos: 371
                Relay_Log_File: mysql-relay-bin.000004
                 Relay_Log_Pos: 670
         Relay_Master_Log_File: mysql-bin.000002
              Slave_IO_Running: No
             Slave_SQL_Running: No

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

四. 自定义监控MySQL主从延迟

hostnameip安装的应用
服务端zabbix.server.com192.168.200.39lamp架构,zabbix server,zabbix agent
node02.domain.example.com192.168.200.31Mariadb(主)
客户端node01.domain.example.com192.168.200.22zabbix agent,Mariadb(从)
部署流程:
一、配置监控端配置文件,配置监控脚本
(MySQL从库端)zabbix配置文件、脚本
[root@node01 ~]# vim /usr/local/etc/zabbix_agentd.conf
Server=192[root@node01 ~]# systemctl restart zabbix_agentd.168.200.39
ServerActive=192.168.200.39
Hostname=22linux
UnsafeUserParameters=1
UserParameter=check_mysql_delay,/bin/bash /script/mysql_delay.sh
[root@node01 ~]# systemctl restart zabbix_agentd

编写脚本:取延迟值

[root@node01 script]# vim mysql_delay.sh
[root@node01 script]# cat mysql_delay.sh 
#!/bin/bash
mysql -uroot -p12345678 -e 'show slave status\G' | grep 'Seconds_Behind_Master' | awk '{print $NF}'
[root@node01 script]# chmod +x mysql_delay.sh

在服务端验证新建的监控项:

[root@zabbix ~]# zabbix_get -s 192.168.200.22 -k check_mysql_delay
0
四、创建监控主机/主机组
访问https://blog.csdn.net/m0_74337295/article/details/133311462?spm=1001.2014.3001.5501
五、创建自定义监控项

在这里插入图片描述

六、创建触发器

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

七、创建媒介、报警通知(邮件)
访问https://blog.csdn.net/m0_74337295/article/details/133323083?spm=1001.2014.3001.5501
八、查看监控数据

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值