1.搭建zabbix源
机子一定要能上网,才能访问到相应链接
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’;
5.查看zabbix-server的文件
把压缩包里的初库以zabbix用户导入到zabbix库里
6.编辑zabbix-server服务主配置文件
/etc/zabbix/zabbix_server.conf
DBHost=localhost
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
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文件
编辑此文件
这样通过互联网能访问到共享目录下的zabbix页面
http://172.25.11.11/zabbix (/zabbix == /usr/share/zabbix)
访问展示:
这样就可以在页面上直观明了的看见想监控的数据了!
加载被监控端的不同种方法:
法一:图形界面点击创建主机
添加成功
法二:自动发现 server端 隔一小时自动去寻找发现
先做动作(群组、模板 再在自动发现里修改IP范围
在监测里的自动发现查看发现结果
发现并且自动添加上了
法三:自动注册 被监控端自己去找
自动注册里没有规则,要手动创建
在页面主机会自动添加好此被监控设备
法四:Zabbix API以编程方式检索和修改Zabbix的配置,并提供对历史数据的访问。
它广泛用于:
创建新的应用程序以使用Zabbix;
将Zabbix与第三方软件集成;
自动执行常规任务。
1.在访问Zabbix中的任何数据之前,你需要登录并获取身份验证令牌
这可以使用该 user.login 方法完成
运行它会获得身份验证码
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方法获得的身份验证令牌。
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
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
页面前端server14又被添加上了
监测数据图形展示:
abbix web根据数据在前端进行展现和绘图。
监控nginx与web服务端的并发允许连接次数,先安装部署好nginx,能获取到它的状态,agent服务获取这些数据信息给server端,最后在webui上显示出监测图形来。
1.先在agent12上部署好Nginx
yum install gcc pcre-devel openssl-devel -y
加载相应模块
./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
进入到/usr/local/nginx/sbin 启动nginx
./nginx | 启动nginx |
---|---|
./nginx -s stop | 关闭nginx |
./nginx -s reload | 重启nginx |
./nginx -t | 检测语法 |
curl 127.0.0.1/status
2.让zabbix-agent服务来获取nginx与web服务端允许连接次数的数据信息
systemctl restart zabbix-agent.service
server端检测是否能获取到此数据信息:
yum install zabbix-get -y
web页面:
在要监控的主机里创建新的监控项
http服务:
agent2端:
开启httpd服务
web端:
给主机2加上httpd监控模板
mysql服务:
yum install mariadb-server -y
systemctl enable --now mariadb.service
mysqladmin password westos
查看/etc/zabbix/zabbix_agentd.conf里有没有include此句
systemctl restart zabbix-agent.service
server端检测下是否能get到:
web端:
监测图形展示: