zabbix php日志,监控日志 - 2.Zabbix 监控(上)

百度百科介绍:

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix由2部分构成,zabbix server与可选组件zabbix agent。

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

安装服务端

1)安装数据库

[root@node1 ~]# yum install -y mysql-community-server...略[root@node1 ~]# systemctl start mysqld[root@node1 ~]# grep password /var/log/mysqld.log2020-07-30T03:45:32.132025Z 1 [Note] A temporary password is generated for root@localhost: jq;M create database zabbix character set utf8 collate utf8_bin;Query OK, 1 row affected (0.00 sec)mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'Zabbix111!';Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> exitBye

2)安装zabbix服务端

[root@node1 ~]# yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent...略# 初始化数据库[root@node1 ~]# zcat /usr/share/doc/zabbix-server-mysql-4.4.10/create.sql.gz | mysql -u zabbix -p zabbixEnter password:[root@node1 ~]# vim /etc/httpd/conf.d/zabbix.conf +20[root@node1 ~]# grep timezone /etc/httpd/conf.d/zabbix.confphp_value date.timezone Asia/Shanghai[root@node1 ~]# vim /etc/zabbix/zabbix_server.conf[root@node1 ~]# cat /etc/zabbix/zabbix_server.conf...略DBHost=localhost...略DBPassword=Zabbix111!...略[root@node1 ~]# systemctl start httpd zabbix-server zabbix-agent[root@node1 ~]# systemctl enable httpd zabbix-server zabbix-agent

3)Web 页面安装

访问http://10.0.0.11/zabbix/

下一步,检查前提条件

4bc6e6d3a599b6f145da4a2d2e3fe4f1.png

下一步,配置数据库连接

8860fb7579d4f4e251379572fe546ddf.png

下一步,下一步,完成

c10248c97561ce199eff77c5f33d60da.png

登陆,默认用户名/密码:Admin/zabbix

e609f0cab92e07caa1cbc74f11de7e7e.png

手动添加一个客户端

Zabbix agent分为主动和被动模式,默认是被动模式,应答server的数据请求;

如果将配置文件里的StartAgents参数设置成0,就是主动模式,主动模式的agent首先从sever索取监控项列表以进行独立处理,然后会定期发送采集到的新值给server。

1)客户端安装agent

[root@node2 ~]# yum install -y zabbix-agent...略[root@node2 ~]# vim /etc/zabbix/zabbix_agentd.conf[root@node2 ~]# cat /etc/zabbix/zabbix_agentd.conf...略StartAgents=0...略Server=10.0.0.11...略ServerActive=10.0.0.11...略Hostname=node2...略[root@node2 ~]# systemctl start zabbix-agent[root@node2 ~]# systemctl enable zabbix-agent

2)Web 页面添加客户端node2

创建一个Host group

30d3e70125e4d9ecf33f457b9199d88a.png

创建一个Host

d2848f4e7c80dae8543156b06497f10a.png

链接Template OS Linux by Zabbix agent active模板

703dd262a6af2f63343525afabc05d7e.png

查看主机

16df71d3c6ab9ae0108727463c0a14b5.png

查看node2的有效内存图表

9ca9c1f17cfd1c8306eca501a73ad30c.png

自动化添加客户端

1)agent自动注册

以node3为例

[root@node3 ~]# yum install -y zabbix-agent...略[root@node3 ~]# vim /etc/zabbix/zabbix_agentd.conf[root@node3 ~]# cat /etc/zabbix/zabbix_agentd.conf...略Server=10.0.0.11...略ServerActive=10.0.0.11...略Hostname=node3...略HostMetadataItem=system.uname...略[root@node3 ~]# systemctl start zabbix-agent[root@node3 ~]# systemctl enable zabbix-agent

Web 页面设置

创建一个Action,注意Event source要选择Auto registration

ec5296a4d6f7450c97c603dddad5fbae.png

6e224d70760d95aae54a310d76ac17bc.png

添加Operations:Add host、Add to host groups、Link to templates

3609a478f58d2a649e3677da999cbcf4.png

等一会就可以看到node3已经注册了

4634a35194a4f70da9e4f11e024fe1ec.png

查看node3的cpu图表

2e7bc143d7b89130062d188aff30ffee.png

2)网络发现

首先关闭自动注册

392e53b52cce475933668a1b345f03d3.png

下面通过网络发现添加一台处于主动模式的客户端node4

[root@node4 ~]# yum install -y zabbix-agent...略[root@node4 ~]# vim /etc/zabbix/zabbix_agentd.conf[root@node4 ~]# cat /etc/zabbix/zabbix_agentd.conf...略Server=10.0.0.11...略ServerActive=10.0.0.11...略Hostname=node4...略HostMetadataItem=system.uname...略[root@node4 ~]# systemctl start zabbix-agent[root@node4 ~]# systemctl enable zabbix-agent

Web 页面设置

配置发现规则

a3a7249a45da34d68e5b4938f5810a8f.png

创建一个Action,注意Event source要选择Discovery

e385204f92cdf7b23e796a86415a664b.png

添加条件

68a05c718a107d3a27f7390a3f42106b.png

添加Operations:Add host、Add to host groups、Link to templates

531bbcc7ca39aeba255397ce873349a7.png

等一会查看node4是否注册

66c91a87130caba84069076286faaa41.png

查看node4的图表

095b657a6127623441818a8e674116b1.png

用Zabbix API 添加主机

Zabbix 的所有操作都可以通过请求API完成,这里只介绍添加主机;

关于API的用法,可以参考官网:

https://www.zabbix.com/documentation/4.4/manual/api

以添加node4为例,

先要关闭网络发现及动作

9b9c5a89e9fad70f541cf0c6409277a2.png

93b701fffef138ed6d52d5fb91667ae0.png

删除已经注册的node4

6e72d921b5cfad46f3b7815a6e8be37f.png

查看API版本

[root@node4 ~]# curl -s -X POST -H 'Content-Type:application/json' -d '{"jsonrpc":"2.0","method":"apiinfo.version","id":1,"auth":null,"params":{}}' http://10.0.0.11/zabbix/api_jsonrpc.php | python -m json.tool{"id": 1,"jsonrpc": "2.0","result": "4.4.10"}

获取认证的session id,后面的请求都要带上这个id

[root@node4 ~]# vim auth.json[root@node4 ~]# cat auth.json{"jsonrpc": "2.0","method": "user.login","params": {"user": "Admin","password": "zabbix"},"id": 1,"auth": null}[root@node4 ~]# curl -s -X POST -H 'Content-Type:application/json' -d @auth.json http://10.0.0.11/zabbix/api_jsonrpc.php | python -m json.tool{"id": 1,"jsonrpc": "2.0","result": "7ae3bcee13a43ffb01cd22e1bfc3e91d"}

获取当前主机信息

[root@node4 ~]# vim get_hostid.json[root@node4 ~]# cat get_hostid.json{"jsonrpc": "2.0","method": "host.get","params": {"output": ["hostid","host"],"selectInterfaces": ["interfaceid","ip"]},"id": 2,"auth": "7ae3bcee13a43ffb01cd22e1bfc3e91d"}[root@node4 ~]# curl -s -X POST -H 'Content-Type:application/json' -d @get_hostid.json http://10.0.0.11/zabbix/api_jsonrpc.php | python -m json.tool{"id": 2,"jsonrpc": "2.0","result": [{"host": "Zabbix server","hostid": "10084","interfaces": [{"interfaceid": "1","ip": "127.0.0.1"}]},{"host": "node2","hostid": "10318","interfaces": [{"interfaceid": "2","ip": "10.0.0.12"}]},{"host": "node3","hostid": "10319","interfaces": [{"interfaceid": "3","ip": "10.0.0.13"}]}]}

获取Host groups demo的ID

[root@node4 ~]# vim get_groupid.json[root@node4 ~]# cat get_groupid.json{"jsonrpc": "2.0","method": "hostgroup.get","params": {"output": "extend","filter": {"name": ["demo"]}},"auth": "7ae3bcee13a43ffb01cd22e1bfc3e91d","id": 3}[root@node4 ~]# curl -s -X POST -H 'Content-Type:application/json' -d @get_groupid.json http://10.0.0.11/zabbix/api_jsonrpc.php | python -m json.tool{"id": 3,"jsonrpc": "2.0","result": [{"flags": "0","groupid": "15","internal": "0","name": "demo"}]}

获取Template OS Linux by Zabbix agent模板的ID

[root@node4 ~]# vim get_templateid.json[root@node4 ~]# cat get_templateid.json{"jsonrpc": "2.0","method": "template.get","params": {"output": "extend","filter": {"host": ["Template OS Linux by Zabbix agent"]}},"auth": "7ae3bcee13a43ffb01cd22e1bfc3e91d","id": 4}[root@node4 ~]# curl -s -X POST -H 'Content-Type:application/json' -d @get_templateid.json http://10.0.0.11/zabbix/api_jsonrpc.php | python -m json.tool | grep templateid"templateid": "10001",

添加node4

[root@node4 ~]# vim create_host.json[root@node4 ~]# cat create_host.json{"jsonrpc": "2.0","method": "host.create","params": {"host": "node4","interfaces": [{"type": 1,"main": 1,"useip": 1,"ip": "10.0.0.14","dns": "","port": "10050"}],"groups": [{"groupid": "15"}],"templates": [{"templateid": "10001"}]},"auth": "7ae3bcee13a43ffb01cd22e1bfc3e91d","id": 5}[root@node4 ~]# curl -s -X POST -H 'Content-Type:application/json' -d @create_host.json http://10.0.0.11/zabbix/api_jsonrpc.php | python -m json.tool{"id": 5,"jsonrpc": "2.0","result": {"hostids": ["10321"]}}

查看是否已创建

查看其内存图表

开源Ops 发起了一个读者讨论 各位有建议或者疑问都可在此讨论

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值