监控MySQL主从状态
[root@slave ~]# mkdir /scripts
[root@slave ~]# cd /scripts/
[root@slave scripts]# vim mysql.sh
[root@slave scripts]# chmod +x mysql.sh
[root@slave scripts]# cat mysql.sh
#!/bin/bash
count=$(mysql -uroot -p1 -e 'show slave status\G' |grep '_Running' |grep -c 'Yes')
#
if [ $count -ne 2 ];then
echo '1'
else
echo '0'
fi
[root@slave ~]# cd /usr/local/etc/
[root@slave etc]# vim zabbix_agentd.conf
# Default:
UnsafeUserParameters=1
# ListenBacklog=
UserParameter=mysql.slave[*],/scripts/mysql.sh $1 $2
/查看从库状态
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.235.125
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql_bin.000001
Read_Master_Log_Pos: 154
Relay_Log_File: myrelay.000004
Relay_Log_Pos: 320
Relay_Master_Log_File: mysql_bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
[root@wxy ~]# zabbix_get -s 192.168.235.115 -k mysql.slave[io]
mysql: [Warning] Using a password on the command line interface can be insecure.
0
[root@wxy ~]# zabbix_get -s 192.168.235.115 -k mysql.slave[io,sql]
mysql: [Warning] Using a password on the command line interface can be insecure.
0
mysql> stop slave;
Query OK, 0 rows affected (0.06 sec)
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State:
Master_Host: 192.168.235.125
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql_bin.000001
Read_Master_Log_Pos: 154
Relay_Log_File: myrelay.000004
Relay_Log_Pos: 320
Relay_Master_Log_File: mysql_bin.000001
Slave_IO_Running: No
Slave_SQL_Running: No
监控MySQL主从延迟
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.235.125
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql_bin.000001
Read_Master_Log_Pos: 154
Relay_Log_File: myrelay.000006
Relay_Log_Pos: 320
Relay_Master_Log_File: mysql_bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master: 0 //大于0,有延迟,等于0或者是NULL,就是没有延迟
1 row in set (0.00 sec)
[root@slave scripts]# vim check_replication.sh
[root@slave scripts]# chmod +x check_replication.sh
[root@slave scripts]# ./check_replication.sh
mysql: [Warning] Using a password on the command line interface can be insecure.
0
[root@slave scripts]# vim /usr/local/etc/zabbix_agentd.conf
# ListenBacklog=
UserParameter=mysql.slave[*],/scripts/mysql.sh $1 $2
UserParameter=check_delay,/scripts/check_replication.sh
[root@wxy ~]# zabbix_get -s 192.168.235.115 -k check_delay
0
声音报警
? 默认的zabbix只有七个不同的提示音,如果是想知道报警的事件,可以将不同类的触发器事件按不同的触发器级别来区分,比如可以把服务器宕机或网络故障定义为灾难级别,然后自己定义报警声音
zabbix用户和组权限
abbix 中的所有用户都通过 Web 前端去访问 Zabbix 应用程序。并为每个用户分配唯一的登陆名和密码。
所有用户的密码都被加密并储存于 Zabbix 数据库中。用户不能使用其用户名和密码直接登陆到 UNIX 服务器中,除非他们也被因此建立在 UNIX 中。可以使用 SSL 来保护 Web 服务器和用户浏览器之间的通讯。
使用一个灵活的用户权限架构可以限制和区分对以下内容的访问权限:
管理 Zabbix 前端的功能; 主机组中监视的主机。 最初 Zabbix 安装后有两个预先定义好的用户“Admin”和“guest”。其中,“guest”用户用户未经验证身份的用户。在你使用“Admin”登陆前,你是“guest”用户。
mysql> select * from users\G;
*************************** 1. row ***************************
userid: 1
username: Admin
name: Zabbix
surname: Administrator
passwd: $2y$10$92nDno4n0Zm7Ej7Jfsz8WukBfgSS/U0QkIuu8WkJPihXBb2A1UrEK
url:
autologin: 1
autologout: 0
lang: zh_CN
refresh: 30s
theme: default
attempt_failed: 0
attempt_ip: 192.168.235.115
attempt_clock: 1632652879
rows_per_page: 50
timezone: default
roleid: 3
*************************** 2. row ***************************
userid: 2
username: guest
name:
surname:
passwd: $2y$10$89otZrRNmde97rIyzclecuk6LwKAsHN0BcvoOKGjbT.BwMBfm7G06
url:
autologin: 0
autologout: 15m
lang: default
refresh: 30s
theme: default
attempt_failed: 0
attempt_ip:
attempt_clock: 0
rows_per_page: 50
timezone: default
roleid: 4
2 rows in set (0.00 sec)
配置用户
1、概述
根据以下步骤来配置一个用户:
在 Zabbix 前端页面跳转到 管理 → 用户; 在当前页面点击创建用户 (或在用户名中编辑现有的用户); 在窗口中编辑用户属性。 2、常规属性
在用户标签页包含常规用户属性: 3、报警媒介 报警媒介标签页包含用户定义的所有报警媒介。报警媒介用于发送通知。点击添加将报警媒介分配给用户。 4、权限
权限标签页包含以下信息:
用户类型 (Zabbix User, Zabbix Admin, Zabbix Super Admin)。 用户不能改变自己的用户类型。 用户可以访问的主机组。默认情况下,“Zabbix User”和“Zabbix Admin”用户无权访问任何的主机组和主机。若要获得访问权限,需要将他们定义到访问相应主机组和主机的用户组中。
用户组
1、概述
用户组可以为组用户组织目的和对数据分配权限。对于主机组的监控数据权限只能分配给用户组,而不是个人用户。
将一组用户和另一组用户的可用信息单独分离开,这样做通常会更有意义。因为这样可以通过用户进行分组,然后将不同的权限分配给主机组来实现。
一个用户可以属于任何数量的组。
2、配置
通过以下步骤配置用户组:
在 Zabbix 前端跳转到管理 → 用户组 ; 点击创建用户组 (或者在用户组名上编辑现有的用户组); 在表单中编辑用户组属性。 “用户组”标签页包含以下常规的用户组属性:
参数 | 描述 |
---|
组名 | 唯一的组名。 | 用户 | 在组中的…这个方框内包含当前组内用户的列表。 要将其他用户添加到此组中,请在其他组这个方框下选择相应的用户,并点击?按钮进行添加。 | 前端访问 | 如何对组内用户进行身份验证。 系统默认 - 使用默认的验证方式 Internal - 使用 Zabbix 验证。如果设置了HTTP 验证,则忽略此项。 停用的 - 被禁止访问 Zabbix GUI。a | 已启用 | 用户组和组成员的状态。 已选中 - 用户组和用户被启用。 未选中 - 用户组和用户被禁用。 | 调试模式 | 选中此框将会激活用户的调试模式。 |
|