1、搭建zabbix服务,实现监控linux和windows的内存,cpu,磁盘,网络等基础指标
安装zabbix服务端和客户端
- 首先安装数据库
yum -y install mariadb-server
vim /etc/my.cnf
innodb_file_per_table = on
skip_name_resolve = on
systemctl start mariadb
# 创建数据库和授权用户
mysql> create database zabbix;
mysql> grant all on zabbix.* to zbx@'192.168.30.%' identified by 'centos';
- 安装 zabbix 软件包
由于系统自带的yum源中没有zabbix软件包,所以可以到zabbix官方网站下载rpm包–(下载链接)
选择LTS版本的Zabbix,我们这里选择4.0 LTS
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
yum clean all
yum install httpd php php-mysql php-mbstring php-gd php-bcmatch php-xml php-ldap
yum -y install zabbix-server-mysql zabbix-web-mysql
- 导入初始架构和数据
cp /usr/share/doc/zabbix-server-mysql-4.0.10/create.sql.gz .
gzip -d create.sql.gz
mysql -uzbx -pcentos -h192.168.30.101 zabbix <create.sql
- 编辑配置文件 /etc/zabbix/zabbix_server.conf
ListenPort=10051
SourceIP=
LogType=file
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0 #日志文件是否按文件大小分割,0表示不分割
DebugLevel=3 #日志记录的详细级别
DBHost=localhost #数据库主机地址
DBName=zabbix #数据库名
DBUser=zbx
DBPassword=centos
DBPort=3306
DBSocket=/tmp/mysqld.socket
- 为Zabbix前端配置PHP
vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone=Asia/Shanghai
- 启动Zabbix server进程
systemctl restart httpd
systemctl restart zabbix-server
- 浏览器中验证
firefox http://192.168.30.101/zabbox/
安装windows的agent端软件
- 下载对应版本的windowsagent
到官方网站下载:https://www.zabbix.com/cn/download_agents
- 安装和配置
跟着软件进行即可
- 启动守护进程
默认的安装目录是:C:\Program Files\Zabbix Agent
查看运行进程
- Server端添加Host,并快速部署一个监控项
在Web Gui 上点点就可以了
三个必填项
关联模板
- 查看监控数据
安装Linux的agent端软件
- 下载agent软件包
yum install ./zabbix-agent-4.0.10-1.el7.x86_64.rpm
rpm -ql zabbix-agent
/etc/logrotate.d/zabbix-agent
/etc/zabbix/zabbix_agentd.conf
/etc/zabbix/zabbix_agentd.d
/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
/usr/lib/systemd/system/zabbix-agent.service
/usr/lib/tmpfiles.d/zabbix-agent.conf
/usr/sbin/zabbix_agentd
/usr/share/doc/zabbix-agent-4.0.10
/usr/share/doc/zabbix-agent-4.0.10/AUTHORS
/usr/share/doc/zabbix-agent-4.0.10/COPYING
/usr/share/doc/zabbix-agent-4.0.10/ChangeLog
/usr/share/doc/zabbix-agent-4.0.10/NEWS
/usr/share/doc/zabbix-agent-4.0.10/README
/usr/share/man/man8/zabbix_agentd.8.gz
/var/log/zabbix
/var/run/zabbix
- 配置agent
vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.30.101
ListenPort=10050
StartAgent=3
Timeout=15
- 启动agent
systemctl start zabbix-agent
- Server端快速部署一个监控项
新建一个主机
新建监控项
新建触发器
新建图形
- 查看监控数据
2、搭建zabbix服务,监控nginx status
- Nginx 开启状态监控信息功能
vim /etc/nginx/nginx.conf
...
location /nginx_status {
stub_status on;
access_log off;
allow 192.168.30.0;
}
# 重启nginx
nginx -s reload
- Zabbix Agent 使用自定义Key
vim /etc/zabbix/zabbix_agentd.d/nginx.conf
UserParameter=nginx.status[*],/usr/bin/nginx_status.sh $1
- 编写监控Nginx的Shell脚本
vim /usr/bin/nginx_status.sh
#! /bin/bash
function active_connections {
curl -s http://192.168.30.102/nginx_status |awk 'NR==1{print $3}'
}
function accept_connections {
curl -s http://192.168.30.102/nginx_status |awk 'NR==3{print $1}'
}
function handled_connections {
curl -s http://192.168.30.102/nginx_status |awk 'NR==3{print $2}'
}
function requests {
curl -s http://192.168.30.102/nginx_status |awk 'NR==3{print $3}'
}
function reading {
curl -s http://192.168.30.102/nginx_status |awk 'NR==4{print $2}'
}
function writing {
curl -s http://192.168.30.102/nginx_status |awk 'NR==4{print $4}'
}
function waiting {
curl -s http://192.168.30.102/nginx_status |awk 'NR==4{print $6}'
}
case $1 in
active)
active_connections
;;
accept)
accept_connections
;;
handled)
handled_connections
;;
requests)
requests
;;
reading)
reading
;;
writing)
writing
;;
waiting)
waiting
;;
*)
return 0
;;
esac
- Server端添加主机和监控项
添加监控项
其他监控项可以通过克隆,快速创建
- 查看数据