zabbix监控基础架构

zabbix-agent(数据采集) --> zabbix-server(数据分析\报警) --> 数据库(数据存储) --> zabbix-web(数据展示)

zabbix监控基础架构_第1张图片

一、zabbix数据库拆分

目前zabbix的架构:
--单台zabbix服务:LAMP+zabbix

需要实现zabbix架构,将数据库拆分成单独的一台,LAP+zabbix+MySQL

1.环境准备

主机名 wanIP lanIP 角色
zabbix 10.0.0.71 172.16.1.71 zabbix-server
db02 10.0.0.52 172.16.1.52 MySQL

2.导出MySQL中zabbix的数据

#1.导出zabbix数据
[root@zabbix ~]# mysqldump -uroot -p -B zabbix >/tmp/zabbix.sql
Enter password: 
--注意:我这里zabbix的数据库是没有设置密码的

#2.拷贝数据到db02中
[root@zabbix ~]# scp /tmp/zabbix.sql  10.0.0.52:/tmp
The authenticity of host '10.0.0.52 (10.0.0.52)' can't be established.
ECDSA key fingerprint is SHA256:RPmo1SSy0e1t+q1jP0mMc+MX3c0UdqFgGiJOQULqqGg.
ECDSA key fingerprint is MD5:de:de:07:0a:21:f5:59:46:2c:89:e0:96:a2:ff:ef:5d.
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes
Warning: Permanently added '10.0.0.52' (ECDSA) to the list of known hosts.
root@10.0.0.52's password: 
zabbix.sql                                100% 2194KB  23.8MB/s   00:00  
--注意这里的密码是登录虚拟机连接时的root密码

3.准备新的数据库环境

zabbix对于数据库没有什么要求,可以用之前安装好的,也可以yum安装mariadb使用。我用的是之前安装好的5.7.28版本的数据库

#安装数据库
[root@db01 ~]# yum install -y mariadb-server
#启动数据库
[root@db01 ~]# systemctl start mariadb
#导入数据
[root@db01 ~]# mysql -uroot -p < /tmp/zabbix.sql
#查看导入的zabbix库
[root@db02 ~]# mysql -u root -p
Enter password: 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| hhh                |
| mysql              |
| performance_schema |
| school             |
| sys                |
| test               |
| world              |
| zabbix             |
+--------------------+

4.关闭原来的数据库并且测试

#关闭数据库
[root@zabbix ~]# systemctl stop mariadb
#打开浏览器查看

zabbix监控基础架构_第2张图片

这里访问是失败的,为什么会失败呢?
因为我们需要修改PHP代码连接数据库

#修改php文件
[root@zabbix ~]# vim /etc/zabbix/web/zabbix.conf.php 

<?php
// Zabbix GUI configuration file.
global $DB;

$DB['TYPE']     = 'MYSQL';
$DB['SERVER']   = '10.0.0.52';
$DB['PORT']     = '3306';
$DB['DATABASE'] = 'zabbix';
$DB['USER']     = 'zabbix';
$DB['PASSWORD'] = '123';

#修改zabbix配置文件
[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf 
DBHost=10.0.0.52

在这里插入图片描述

#问题解决
这里我们会发现,新的错误又会出现了,刚才是连接不上localhost
--说明现在我们的数据库不支持远程连接

#解决办法:所以我们创建个用户就好
MariaDB [(none)]> grant all on zabbix.* to zabbix @'10.0.0.%' identified by '123';

zabbix监控基础架构_第3张图片

二、如何添加自定义监控项

自定义监控格式

### Option: UserParameter
#       User-defined parameter to monitor. There can be several user-defined parameters.
#       Format: UserParameter=,
#       See 'zabbix_agentd' directory for examples.

#官方示例
UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql -V

1.自定义监控第一步

#使用命令查看服务器当前登录用户会话数量(服务端)
[root@zabbix ~]# uptime |awk '{print $4}'
2

#客户端
[root@db02 ~]# uptime |awk '{print $5}'
2

2.使用自定义监控第二步

#把命令加入配置文件并起名(服务端)
[root@zabbix ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@zabbix zabbix_agentd.d]# vi userparameter_login.conf
UserParameter=user.count,uptime |awk '{print $4}'
#重启agent
[root@zabbix ~]# systemctl restart zabbix-agent.service 

#客户端
[root@db02 ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@db02 zabbix_agentd.d]# vi userparameter_login.conf
UserParameter=user.count,uptime |awk '{print $5}'
#重启agent
[root@db02 zabbix_agentd.d]# systemctl restart zabbix-agent.service 

#查看本机
[root@zabbix zabbix_agentd.d]# zabbix_get -s 127.0.0.1 -k user.count
2

#查看客户端
[root@zabbix zabbix_agentd.d]# zabbix_get -s 10.0.0.52 -p 10050 -k user.count
2

3.自定义监控第三步

#查看监控项
[root@zabbix ~]# zabbix_agentd -p
user.count                                    [t|2]

[root@db02 ~]# zabbix_agentd -p
user.count                                    [t|2]

4.自定义监控第四步

#在zabbix-server 端获取agent端数据,使用zabbix_get命令

#1.安装zabbix_get命令
[root@zabbix ~]# yum install -y zabbix-get

#2.语法
[root@web02 ~]# zabbix_get
usage:
  zabbix_get -s host-name-or-IP [-p port-number] [-I IP-address] -k item-key
  zabbix_get -s host-name-or-IP [-p port-number] [-I IP-address]
                --tls-connect cert --tls-ca-file CA-file
                [--tls-crl-file CRL-file] [--tls-agent-cert-issuer cert-issuer]
                [--tls-agent-cert-subject cert-subject]
                --tls-cert-file cert-file --tls-key-file key-file -k item-key
  zabbix_get -s host-name-or-IP [-p port-number] [-I IP-address]
                --tls-connect psk --tls-psk-identity PSK-identity
                --tls-psk-file PSK-file -k item-key
  zabbix_get -h
  zabbix_get -V

#3.获取数据
[root@zabbix ~]#  zabbix_get -s 10.0.0.52 -k user.count
2

5.自定义监控第五步

1)在web页面添加监控项

配置—>主机—>监控项—>创建监控项
zabbix监控基础架构_第4张图片
zabbix监控基础架构_第5张图片

zabbix监控基础架构_第6张图片

2)创建模板

zabbix监控基础架构_第7张图片
zabbix监控基础架构_第8张图片

6.自定义监控第六步

1)添加触发器,当用户超过2个人的时候,就要报警

zabbix监控基础架构_第9张图片
zabbix监控基础架构_第10张图片
zabbix监控基础架构_第11张图片
zabbix监控基础架构_第12张图片

2)优化触发器名称

使用zabbix内置变量,来优化触发器的名称,此处使用的是

主机名变量:{HOST.NAME}

IP地址变量:{HOST.IP}
zabbix监控基础架构_第13张图片

7.自定义监控第七步

1)添加图形化界面

zabbix监控基础架构_第14张图片

2)查看添加的图形化界面

zabbix监控基础架构_第15张图片

8.自定义监控第八步

1)添加报警媒介类型

如果事件源是触发器,那么就会触发动作,触发什么动作呢?就需要自己来创建了。

自定义触发器—>动作—>通知

如果事件源是触发器–>则创建一个触发的动作–>通知

1.我怎么通知。通过介质(配置一个邮箱的发件人)
2.通知给谁。(接收的邮箱)
3.通知的内容(内容可以自定义
zabbix监控基础架构_第16张图片

2)选择qq邮箱报警(注意:我这里的是添加的)

zabbix监控基础架构_第17张图片
zabbix监控基础架构_第18张图片

3)如何看邮箱的授权码

zabbix监控基础架构_第19张图片
zabbix监控基础架构_第20张图片

4)用户关联报警媒介

zabbix监控基础架构_第21张图片
zabbix监控基础架构_第22张图片

5)设置触发器动作

zabbix监控基础架构_第23张图片

6)设置关动作的条件内容

zabbix监控基础架构_第24张图片
zabbix监控基础架构_第25张图片

7)设置故障恢复动作内容

zabbix监控基础架构_第26张图片
查看接收到的邮件报警内容
zabbix监控基础架构_第27张图片

三、配置短信报警

1.第三方报警平台

通过 OneAlert 提供的通知分派与排班策略,以及全方位的短信、微信、QQ、电话提醒服务,可以在最合适的时间,将最重要的信息推送给最合适的人员。

https://newuser.aiops.com/

zabbix监控基础架构_第28张图片
zabbix监控基础架构_第29张图片
zabbix监控基础架构_第30张图片

2.zabbix服务端配置

2.1切换到zabbix脚本目录 [(如何查看zabbix脚本目录)](javascript:void(0):

[root@zabbix ~]# find / -name alertscripts 
/usr/lib/zabbix/alertscripts
[root@zabbix ~]# cd /usr/lib/zabbix/alertscripts

2.2获取Cloud Alert Agent包:

[root@zabbix alertscripts]# wget https://download.aiops.com/ca_agent/zabbix/ca_zabbix_release-3.0.1.tar.gz

2.3 解压、安装。

tar -xzf ca_zabbix_release-3.0.1.tar.gz 
cd cloudalert/bin 
bash install.sh 95501940-c8e9-476b-8bb9-f2bb82a88625 

注:1、在安装过程中根据安装提示,输入zabbix管理地址、管理员用户名、密码。

2、zabbix管理地址正确示例:http://zabbix.server.com/zabbix

2.4 当提示"安装成功"时表示安装成功!

验证告警集成
产生新的zabbix告警(problem),动作状态为“已送达”表示集成成功。

zabbix监控基础架构_第31张图片

3.alter平台配置分派策略和通知策略

新建分派策略

zabbix监控基础架构_第32张图片
新建通知策略
zabbix监控基础架构_第33张图片

4.zabbix web界面配置短信与微信通知

zabbix监控基础架构_第34张图片
zabbix监控基础架构_第35张图片
zabbix监控基础架构_第36张图片

alter平台报警功能

打开多个终端,查看登录人数

[root@db02 ~]# uptime
 16:49:07 up 41 min,  4 users,  load average: 0.00, 0.01, 0.03

zabbix监控基础架构_第37张图片

你可能感兴趣的:(zabbix监控,zabbix)