一 环境准备
本文中zabbix文件存放在/root/soft目录下
下载地址
https://download.csdn.net/download/huangfujin321/12287089
依赖
yum install libxml2-devel net-snmp-devel libevent-devel curl-devel pcre*
用户
groupadd zabbix && useradd -s /sbin/nologin -g zabbix zabbix
二 zabbix server 的安装配置
解压
tar zxvf zabbix-4.0.18.tar.gz && cd zabbix-4.0.18
编译
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy --with-mysql=/usr/local/mysql/bin/mysql_config --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
make
安装
make install
配置系统环境
cp /usr/local/zabbix/sbin/* /usr/sbin/
cp /usr/local/zabbix/bin/* /usr/bin/
配置数据库
create database zabbix character set utf8 collate utf8_bin;
grant all on zabbix.* to zabbix@localhost identified by ‘123456’;
flush privileges;
mysql -h localhost -uzabbix -p zabbix < /root/soft/zabbix-4.0.18/database/mysql/schema.sql
mysql -h localhost -uzabbix -p zabbix < /root/soft/zabbix-4.0.18/database/mysql/images.sql
mysql -h localhost -uzabbix -p zabbix < /root/soft/zabbix-4.0.18/database/mysql/data.sql
配置zabbix
cat > /usr/local/zabbix/etc/zabbix_server.conf <<EOF
LogFile=/usr/local/zabbix/log/zabbix_server.log
PidFile=/usr/local/zabbix/log/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
DBSocket=/var/lib/mysql/mysql.sock
DBPort=33063
Timeout=4
LogSlowQueries=3000
EOF
mkdir /usr/local/zabbix/log
chown -R zabbix.zabbix /usr/local/zabbix
/usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf
如果日志报错不能连接到数据库修改mysql数据库DBsocket路径为/var/lib/mysql/mysql.sock
mkdir /var/lib/mysql && chown -R mysql.mysql /var/lib/mysql
service mysqld restart
配置启动服务
cp /root/soft/zabbix-4.0.18/misc/init.d/fedora/core/zabbix_* /etc/init.d/
chmod +x /etc/init.d/zabbix_*
chkconfig --add zabbix_server
chkconfig --add zabbix_agentd
chkconfig zabbix_server on
chkconfig zabbix_agentd on
修改zabbix_server和zabbix_agentd文件中的BASEDIR和PIDFILE
systemctl daemon-reload
service zabbix_server restart
service zabbix_agentd restart
nginx的安装
看我的nginx的安装文档
https://blog.csdn.net/huangfujin321/article/details/102814686
php7.2的安装
安装repo
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
安装php72套件
yum install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml php72w-bcmath php72w-ldap
启动php
systemctl start php-fmp.service
配置zabbix web服务
mkdir /data/zabbix/
cp -rf /root/soft/zabbix-4.0.18/frontends/php/* /data/zabbix/
chown -R apache. /data/zabbix/
http://zabbix.xing.com
配置php.ini文件参数
nginx的配置
cat > /usr/local/nginx/conf/vhosts/zabbix.conf <<EOF
server {
listen 80;
server_name zabbix.xing.com;
autoindex off;
access_log /usr/local/nginx/logs/zabbix.log main;
index index.html index.php index.html;
root /data/zabbix;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ ^(.+.php)(.*)$ {
fastcgi_split_path_info ^(.+.php)(.*)$;
include fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
location ~ /status {
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
EOF
/usr/local/nginx/sbin/nginx -s reload
zabbix-agent的安装(centos7)
下载安装
wget -c http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.18-1.el7.x86_64.rpm
rpm -ivh zabbix-agent-4.0.18-1.el7.x86_64.rpm
配置监控tcp连接
mkdir -p /data/zabbix/{scripts,tmp}
touch /data/zabbix/tmp/ss.txt
cat > /data/zabbix/scripts/tcp_status.sh <<EOF
#!/bin/bash
#tcp_status
[ $# -ne 1 ] && echo “Usage:CLOSE-WAIT|CLOSED|CLOSING|ESTAB|FIN-WAIT-1|FIN-WAIT-2|LAST-ACK|LISTEN|SYN-RECV SYN-SENT|TIME-WAIT” && exit 1
ss_file=/data/zabbix/tmp/ss.txt
tcp_status_fun() {
tcp_stat=$1
ss -ant | awk ‘NR>1 {++s[$1]} END {for(k in s)print k,s[k]}’ >
s
s
f
i
l
e
t
c
p
s
t
a
t
v
a
l
u
e
=
{ss_file} tcp_stat_value=
ssfiletcpstatvalue=(grep ${tcp_stat} $ss_file | awk {'print KaTeX parse error: Expected 'EOF', got '}' at position 4: NF'}̲) if [ -z "tcp_stat_value" ];then
tcp_stat_value=0
fi
echo $tcp_stat_value
}
tcp_status_fun $1
EOF
chown -R zabbix.zabbix /data/zabbix
chmod +x /data/zabbix/scripts/tcp_status.sh
配置zabbix-agentd的配置文件
cat > /etc/zabbix/zabbix_agentd.conf << EOF
PidFile=/data/zabbix/zabbix_agentd.pid
LogFile=/data/zabbix/zabbix_agentd.log
LogFileSize=0
EnableRemoteCommands=1
LogRemoteCommands=1
Server=118.178.84.52
ServerActive=118.178.84.52:10051
HostnameItem=system.hostname
HostMetadata=Linux 123123123123123123123123121312312312312313
#配置自动注册的时候添加监控的条件。后面带字符串做安全验证
Include=/etc/zabbix/zabbix_agentd.d/.conf
UserParameter=tcp_status[],/data/zabbix/scripts/tcp_status.sh $1
#配置tcp连接监控
EOF
配置服务
sed -i “s/run/data/g” /usr/lib/systemd/system/zabbix-agent.service && systemctl daemon-reload
systemctl start zabbix-agent.service && systemctl enable zabbix-agent.service