zabbix的安装部署,以及在zabbix监控里添加主机,用API实现部分功能

关于zabbix
zabbix(音同 za:bix)是一个基于WEB界面的提供分布式系统监视以及网络
监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供
灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix
由2部分构成,zabbix server与可选组件zabbix agent。
环境设定:
base2 172.25.78.12 zabbix-server
base3 172.25.78.13 zabbix-agent
base4 172.25.78.14 zabbix-agent
1.zabbix环境的搭建
在zabbix-server端安装zabbix-agent是为了监控本机
zabbix安装包下载地址
iksemel-1.4-2.el7.centos.x86_64.rpm
fping-3.10-1.el7.x86_64.rpm
php-bcmath-5.4.16-42.el7.x86_64.rpm
php-mbstring-5.4.16-42.el7.x86_64.rpm
[root@base2 ~]# ls
fping-3.10-1.el7.x86_64.rpm
iksemel-1.4-2.el7.centos.x86_64.rpm
php-bcmath-5.4.16-42.el7.x86_64.rpm
php-mbstring-5.4.16-42.el7.x86_64.rpm
zabbix-agent-4.0.5-1.el7.x86_64.rpm
zabbix-server-mysql-4.0.5-1.el7.x86_64.rpm
zabbix-web-4.0.5-1.el7.noarch.rpm
zabbix-web-mysql-4.0.5-1.el7.noarch.rpm
[root@base2 ~]# yum install -y php-bcmath-5.4.16-42.el7.x86_64.rpm php-mbstring-5.4.16-42.el7.x86_64.rpm zabbix-agent-4.0.5-1.el7.x86_64.rpm zabbix-web-4.0.5-1.el7.noarch.rpm zabbix-web-mysql-4.0.5-1.el7.noarch.rpm zabbix-server-mysql-4.0.5-1.el7.x86_64.rpm
[root@base2 ~]# yum install -y httpd mariadb-server
[root@base2 ~]# systemctl start mariadb
[root@base2 ~]# mysql_secure_installation
在这里插入图片描述
在这里插入图片描述
[root@base2 ~]# mysql -p
Enter password:
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by ‘westos’; #给zabbix用户授权并设置密码
MariaDB [(none)]> quit
Bye
[root@base2 ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix # 给zabbix用户导入初始架构(Schema)和数据。
Enter password: # 此处的密码是在数据库中给zabbix用户设置的密码
[root@base2 ~]# cd /etc/zabbix/
[root@base2 zabbix]# ls
web zabbix_agentd.conf zabbix_agentd.d zabbix_server.conf

[root@base2 zabbix]# vim zabbix_server.conf
124 DBPassword=westos # 修改数据库密码
[root@base2 zabbix]# systemctl start zabbix-server
[root@base2 zabbix]# systemctl start zabbix-agent
[root@base2 zabbix]# vim /etc/httpd/conf.d/zabbix.conf
20 php_value date.timezone Asia/Shanghai # 修改时区
[root@base2 zabbix]# systemctl start httpd
进行前端设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上是zabbix监控平台的搭建,现在我们开始使用zabbix来实现我们的需求

2.使用zabbix监控
先开启一个客户端
[root@base3 ~]# ls
zabbix-agent-4.0.5-1.el7.x86_64.rpm
[root@base3 ~]# rpm -ivh zabbix-agent-4.0.5-1.el7.x86_64.rpm
[root@base3 ~]# vim /etc/zabbix/zabbix_agentd.conf
98 Server=172.25.78.12
139 ServerActive=172.25.78.12 # Agent主动把ip传给server
150 Hostname=base3 # 当前主机的主机名需要解析
[root@base3 ~]# systemctl start zabbix-agent
手动添加
在这里插入图片描述
添加模板(设定通过监控采集什么)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
添加主机
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
自动发现
先删除手动添加的主机
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
刷新网页,查看是否发现设备
[root@base2 ~]# zabbix_server -R config_cache_reload # 重载配置
[root@base2 ~]# systemctl restart zabbix-server # 如果没有发现,就重启一下server端,因为具有延时性
在这里插入图片描述
自动注册
先配置一个可以自动注册的客户端
[root@base4 ~]# ls
zabbix-agent-4.0.5-1.el7.x86_64.rpm
[root@base4 ~]# rpm -ivh zabbix-agent-4.0.5-1.el7.x86_64.rpm
[root@base4 ~]# vim /etc/zabbix/zabbix_agentd.conf
98 Server=172.25.78.12
139 ServerActive=172.25.78.12
150 Hostname=base4
[root@base4 ~]# systemctl start zabbix-agent
[root@base4 ~]# netstat -antlp | grep zabbix
在这里插入图片描述
再关闭自动发现规则
在这里插入图片描述
设置自动注册
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
[root@base4 ~]# systemctl restart zabbix-agent # 为了更快的被服务端搜索到,我们可以重启一下客户端

在这里插入图片描述
以Api管理主机
1.登录验证
在访问Zabbix中的任何数据之前,需要登录并获取身份验证令牌。这可以使用该 user.login 方法完成。我想要以标准Zabbix Admin用户身份登录。
[root@base2 ~]# vim zabbix-api # 编写JSON请求
curl -s -XPOST -H “Content-Type:application/json-rpc” -d ’
{
“jsonrpc”: “2.0”,
“method”: “user.login”,
“params”: {
“user”: “Admin”,
“password”: “zabbix”
},
“id”: 1,
“auth”: null
}’ http://172.25.78.12/zabbix/api_jsonrpc.php

jsonrpc : API使用的JSON-RPC协议的版本; Zabbix API实现的JSON-RPC版本是2.0;
method : 被调用的API方法名;
params : 将被传递给API方法的参数;
id : 请求的任意标识符;
auth :用户认证令牌; 因为我们还没有一个,它的设置null。

在这里插入图片描述
[root@base2 ~]# chmod +x zabbix-api
[root@base2 ~]# ./zabbix-api # 执行脚本
在这里插入图片描述
jsonrpc : JSON-RPC协议的版本;
result : 方法返回的数据;
id : 相应请求的标识符。
2.检索主机
[root@base2 ~]# vim zabbix-api
curl -s -XPOST -H “Content-Type:application/json-rpc” -d ’
{
“jsonrpc”: “2.0”,
“method”: “host.get”, # 获取主机
“params”: {
“output”: [
“hostid”,
“host”
],
“selectInterfaces”: [
“interfaceid”,
“ip”
]
},
“id”: 2,
“auth”: “39c27f392aff01eeea96f93c728df852” # 这个是刚才生成的api验证令牌
}’ http://172.25.78.12/zabbix/api_jsonrpc.php | python -m json.tool

在这里插入图片描述
[root@base2 ~]# ./zabbix-api
在这里插入图片描述
3.用api删除主机
先在前端关闭自动注册
在这里插入图片描述
回到服务端
[root@base2 ~]# vim zabbix-api
curl -s -XPOST -H “Content-Type:application/json-rpc” -d ’
{
“jsonrpc”: “2.0”,
“method”: “host.delete”,
“params”: [
“10266”
],
“id”: 2,
“auth”: “39c27f392aff01eeea96f93c728df852”
}’ http://172.25.78.12/zabbix/api_jsonrpc.php | python -m json.tool
在这里插入图片描述
[root@base2 ~]# ./zabbix-api
在这里插入图片描述
在前端(浏览器上)查看
在这里插入图片描述
4.用api添加主机
在这里插入图片描述
在这里插入图片描述
[root@base2 ~]# vim zabbix-api
curl -s -XPOST -H “Content-Type:application/json-rpc” -d ’
{
“jsonrpc”: “2.0”,
“method”: “host.create”,
“params”: {
“host”: “base4”,
“interfaces”: [
{
“type”: 1,
“main”: 1,
“useip”: 1,
“ip”: “172.25.78.14”,
“dns”: “”,
“port”: “10050”
}
],
“groups”: [
{
“groupid”: “2” # 获取到的
}
],
“templates”: [
{
“templateid”: “10001” # 模版号也是获取到的
}
]
},
“id”: 2,
“auth”: “39c27f392aff01eeea96f93c728df852”
}’ http://172.25.78.12/zabbix/api_jsonrpc.php | python -m json.tool
在这里插入图片描述
[root@base2 ~]# ./zabbix-api
在这里插入图片描述
在网页上查看主机添加成功
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值