一、Zabbix的安装部署

后端搭建

1.搭建zabbix源

bb92c48b5f15e120c9e669274b246a46.png

机子一定要能上网,才能访问到相应链接

server端 :

2.安装zabbix-server

yum install zabbix-server -y

3.安装mariadb-server 并启动mariadb服务

yum install mariadb-server.x86_64 -y

systemctl enable --now mariadb.service

4.进入库,创建zabbix库名,以及只允许本地用户登陆的zabbix用户,并授予所有权限

mysql> create database zabbix character set utf8 collate utf8_bin;

mysql> create user ‘zabbix’@‘localhost’ identified by ‘westos’;

mysql> grant all privileges on zabbix.* to ‘zabbix’@‘localhost’;

c4c70f566abe4787ebab756e5121cefb.png

5.查看zabbix-server的文件

把压缩包里的初库以zabbix用户导入到zabbix库里

5dab4144b92a060c52019347ee9a959f.png

6.编辑zabbix-server服务主配置文件

/etc/zabbix/zabbix_server.conf

DBHost=localhost

081f318910da341a985231c80f6afff5.png

7.开启zabbix-server服务

systemctl start zabbix-server.service

8.安装zabbix-agent

yum install -y zabbix-agent

systemctl enable --now zabbix-agent

cat /var/log/zabbix/zabbix_server/agent.log

实验需在selinux允许或关闭的前提下!!

被监控(agent)端:

安装zabbix-agents

yum install -y zabbix-agent

编辑配置文件/etc/zabbix/zabbix_agentd.conf

280d091f934be6c30e17c1c7cac6f9b3.png

f755c5802af7cf7e7421627c435d83ac.png

systemctl enable --now zabbix-agent

前端搭建

zabbix-agent服务负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。

server端:

yum install zabbix-web-mysql.noarch php-bcmath-5.4.16-46.el7.x86_64.rpm php-mbstring-5.4.16-46.el7.x86_64.rpm -y 后面两个需要依赖性,若没有可以去网上下载。

会发现会自动安装httpd,并在/etc/httpd/conf.d/ 下会生成zabbix.conf文件

编辑此文件

942d4a97430a93546886718a160d510a.png

这样通过互联网能访问到共享目录下的zabbix页面

http://172.25.11.11/zabbix (/zabbix == /usr/share/zabbix)

访问展示:

741eadeb85b77623ce5e9c00c83d6073.png

975b0ea3a106318dab7228e13c771710.png

aa9dd119918c47cef5ba816de8e886d7.png

726df6c8518c50885f98db560d58163f.png

这样就可以在页面上直观明了的看见想监控的数据了!

二、监控agent端

监测主机:

加载被监控端的不同种方法:

法一:图形界面点击创建主机

cf7dad05cf0a89b25329a3a0685bf7d1.png

62ac702e160f4954f7beae0de169bd19.png

6504691ac8a7e395fbb44d1637b4aa87.png

添加成功

a2a67e7f91642550a6e0d3d98aae0093.png

法二:自动发现 server端 隔一小时自动去寻找发现

先做动作(群组、模板 再在自动发现里修改IP范围

在监测里的自动发现查看发现结果

a0974def1c922a3055de33226aac89ab.png

5eae71fd346014d4577c8c985b510759.png

发现并且自动添加上了

27fe33b7d9553cbca94fdd578998d8db.png

ec8ed80d5fc9a0db5aed61a03c1b0c02.png

法三:自动注册 被监控端自己去找

自动注册里没有规则,要手动创建

316c0af735c5bd9b2c8ff52d3e605c20.png

6b0632a5590b388bef723269a270d03e.png

9c9023bc041e4f10733e2486e5091243.png

重新启动要添加的agent端服务

515cb7d92ac0e316f47417dca0e99d82.png

在页面主机会自动添加好此被监控设备

d39a27277a8a36f200e27316968d8546.png

法四:Zabbix API以编程方式检索和修改Zabbix的配置,并提供对历史数据的访问。

它广泛用于:

创建新的应用程序以使用Zabbix;

将Zabbix与第三方软件集成;

自动执行常规任务。

1.在访问Zabbix中的任何数据之前,你需要登录并获取身份验证令牌

这可以使用该 user.login 方法完成

4f9d05964323558ad95e8415061c104f.png

运行它会获得身份验证码

2faf046d3d431c590a36d0ce1e7721c3.png

2. 检索主机

curl -s -XPOST http://172.25.0.11/zabbix/api_jsonrpc.php -H "Content-Type: application/json-rpc" -d '

{

"jsonrpc": "2.0",

"method": "host.get",

"params": {

"output": [

"hostid",

"host"

],

"selectInterfaces": [

"interfaceid",

"ip"

]

},

"id": 2,

"auth": "d92fe1c5431825f9e90828867fac033f"

}' | python -m json.tool

注意: auth 属性现在设置为我们通过调用user.login方法获得的身份验证令牌。

bdd37b213b9ad21fa64c7bc69eb4c41e.png

3.删除被监控设备

curl -s -XPOST http://172.25.0.11/zabbix/api_jsonrpc.php -H "Content-Type: application/json-rpc" -d '

{

"jsonrpc": "2.0",

"method": "host.delete",

"params": [

"1027"

],

"auth": "d92fe1c5431825f9e90828867fac033f",

"id": 2

}' | python -m json.tool

aeeb598a72ba75a223643dea8e61a03c.png

7f9b81abf964628351b5f40ab3ed9add.png

4.创建被监控设备

curl -s -XPOST http://172.25.0.11/zabbix/api_jsonrpc.php -H "Content-Type: application/json-rpc" -d '

{

"jsonrpc": "2.0",

"method": "host.create",

"params": {

"host": "server14",

"interfaces": [

{

"type": 1,

"main": 1,

"useip": 1,

"ip": "172.25.0.14",

"dns": "",

"port": "10050"

}

],

"groups": [

{

"groupid": "2"

}

],

"templates": [

{

"templateid": "10001"

}

]

},

"auth": "d92fe1c5431825f9e90828867fac033f",

"id": 1

}' | python -m json.tool

6831cf5cf1951b37ae4278fd25ffaad0.png

页面前端server14又被添加上了

00bef0592c3a249d031bd86049a9c6f4.png

监测数据图形展示:

abbix web根据数据在前端进行展现和绘图。

b1e17f4c083453a918579473d843fdd6.png

监测Nginx:

监控nginx与web服务端的并发允许连接次数,先安装部署好nginx,能获取到它的状态,agent服务获取这些数据信息给server端,最后在webui上显示出监测图形来。

1.先在agent12上部署好Nginx

yum install gcc pcre-devel openssl-devel -y

5bc220886d141b1be5f7a4ed8d063cfc.png

01e6d7da77dd1ad1cd365296a1607065.png

加载相应模块

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

make && make install

“–with-http_stub_status_module”,将该模块放到server里面

编辑/usr/local/nginx/conf/nginx.conf

6113a99564e28078e49fbabaf9287f2e.png

进入到/usr/local/nginx/sbin 启动nginx

./nginx启动nginx./nginx -s stop关闭nginx

./nginx -s reload重启nginx

./nginx -t检测语法

curl 127.0.0.1/status

05f549079b57a1cbf651be2dd1bd828c.png

2.让zabbix-agent服务来获取nginx与web服务端允许连接次数的数据信息

c6686e97bb8e1221f2fef34ffbc92574.png

1b0bf114474736a6916677f4d40c77b8.png

systemctl restart zabbix-agent.service

server端检测是否能获取到此数据信息:

yum install zabbix-get -y

e39669c000d64e73e2739c2277af55e3.png

web页面:

在要监控的主机里创建新的监控项

b9465ca2728d9dbe29cb74c9c9db8a52.png

0223b0ec6d50ce47816e265279f29f67.png

在创建新的图形,把刚才新建的监控项加进去

c35876710524cf568cf63fd98d9c6d35.png

22b76837448abc2721c729f9cbf29e50.png

监控图形展示:

c682775eb4c6e86be20473772195ff33.png

监测服务:

http服务:

agent2端:

开启httpd服务

web端:

给主机2加上httpd监控模板

64adf160d0b8a67103fbf2e9ee8594dc.png

8630bc4caadba68388e1bab7890745e8.png

mysql服务:

yum install mariadb-server -y

systemctl enable --now mariadb.service

mysqladmin password westos

查看/etc/zabbix/zabbix_agentd.conf里有没有include此句

0daf0bc0bc363d387be4c372d9063a5c.png

ab79481989a5a0a8687db4b472a5951c.png

systemctl restart zabbix-agent.service

server端检测下是否能get到:

d341cb98bb5929a364a5488f0df9a239.png

web端:

122bcae6b9217de8caaa1d2020c68775.png

监测图形展示:

7f80bccee270520c8da6061f4706fbe7.png

GET

Logo

更多推荐