第一步:配置LNMP平台,用于展示zabbix的web页面
1.1 安装nginx的依赖包
[root@zabbixserver ~]# yum install -y gcc pcre-devel openssl-devel
1.2 安装nginx
[root@zzgrhel8 ~]# scp /linux-soft/2/lnmp_soft.tar.gz 192.168.88.5:/root/
[root@zabbixserver ~]# tar xf lnmp_soft.tar.gz
[root@zabbixserver ~]# cd lnmp_soft/
[root@zabbixserver lnmp_soft]# tar xf nginx-1.12.2.tar.gz
[root@zabbixserver lnmp_soft]# cd nginx-1.12.2/
[root@zabbixserver nginx-1.12.2]# ./configure --with-http_ssl_module # 配置nginx支持https [root@zabbixserver nginx-1.12.2]# make && make install
1.3. 配置nginx支持php。配置php可以连接mysql
[root@zabbixserver ~]# yum install -y php php-fpm php-mysql mariadb-server mariadb-devel
1.4根据zabbix手册,修改nginx参数
[root@zabbixserver ~]# vim /usr/local/nginx/conf/nginx.conf
34 fastcgi_buffers 8 16k; #缓存php生成的页面内容,8个16k
35 fastcgi_buffer_size 32k; #缓存php生产的头部信息,32k
36 fastcgi_connect_timeout 300; #连接PHP的超时时间,300秒
37 fastcgi_send_timeout 300; #发送请求的超时时间,300秒
38 fastcgi_read_timeout 300; #读取请求的超时时间,300秒
70 location ~ \.php$ {
71 root html;
72 fastcgi_pass 127.0.0.1:9000;
73 fastcgi_index index.php;
74 # fastcgi_param SCRIPT_FILENAME /script s$fastcgi_script_name;
75 include fastcgi.conf; # 注意改成fastcgi.conf
76 }
6. 启动相关服务
[root@zabbixserver ~]# systemctl enable mariadb --now
[root@zabbixserver ~]# systemctl enable php-fpm --now
[root@zabbixserver ~]# ss -tlnp |grep :9000 LISTEN 0 128 127.0.0.1:9000
[root@zabbixserver ~]# /usr/local/nginx/sbin/nginx
[root@zabbixserver ~]# ss -tlnp | grep :80 LISTEN 0 128 *:80
写入到rc.local中的命令,开机时自动执行
[root@zabbixserver ~]# echo '/usr/local/nginx/sbin/nginx' >> /etc/rc.d/rc.local [root@zabbixserver ~]# chmod +x /etc/rc.d/rc.local
第二步: 在zabbix服务端源码编译安装zabbix server
2.1 安装zabbix的依赖包
[root@zabbixserver lnmp_soft]# yum install -y net-snmp-devel curl-devel autoconf libevent-devel2.2 编译安装
[root@zabbixserver ~]# cd lnmp_soft/
[root@zabbixserver lnmp_soft]# ls zabbix-3.4.4.tar.gz zabbix-3.4.4.tar.gz
[root@zabbixserver lnmp_soft]# tar xf zabbix-3.4.4.tar.gz
[root@zabbixserver lnmp_soft]# cd zabbix-3.4.4/
[root@zabbixserver zabbix-3.4.4]# ./configure --enable-server --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl
[root@zabbixserver zabbix-3.4.4]# make && make install • 初始化
[root@zabbixserver ~]# mysql MariaDB [(none)]> create database zabbix default charset utf8;
MariaDB [(none)]> grant all on zabbix.* to zabbix@'%' identified by 'zabbix';
MariaDB [(none)]> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix'; MariaDB [(none)]> exit
[root@zabbixserver ~]# cd lnmp_soft/zabbix-3.4.4/database/mysql/ [root@zabbixserver mysql]# ls data.sql images.sql schema.sql
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < images.sql
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < data.sql
[root@zabbixserver ~]# vim /usr/local/etc/zabbix_server.conf 12 # ListenPort=10051 # 不用改,了解端口号 38 LogFile=/tmp/zabbix_server.log # 不用改,日志文件位置 85 DBHost=localhost # 数据库服务器地址 95 DBName=zabbix # 不用改,数据库名 111 DBUser=zabbix # 不用改,连接数据库的用户 119 DBPassword=zabbix # 连接数据库的密码
[root@zabbixserver ~]# useradd -s /sbin/nologin zabbix
[root@zabbixserver ~]# vim /usr/lib/systemd/system/zabbix_server.service [Unit] Description=zabbix server After=network.target remote-fs.target nss-lookup.target
[Service] Type=forking PIDFile=/tmp/zabbix_server.pid ExecStart=/usr/local/sbin/zabbix_server ExecStop=/bin/kill $MAINPID
[Install] WantedBy=multi-user.target
[root@zabbixserver ~]# systemctl daemon-reload
[root@zabbixserver ~]# systemctl enable zabbix_server.service [root@zabbixserver ~]# systemctl start zabbix_server.service
[root@zabbixserver ~]# ss -tlnp | grep :10051 LISTEN 0 128 *:10051
2.8 zabbix的管理是通过web页面进行的。通过web初始化zabbix
# 拷贝zabbix的web页面到nginx
[root@zabbixserver ~]# ls lnmp_soft/zabbix-3.4.4/frontends/ php
[root@zabbixserver ~]# cp -r lnmp_soft/zabbix-3.4.4/frontends/php/* /usr/local/nginx/html/# nginx运行期间,调用php-fpm服务,php-fpm需要向web目录中修改文件。php-fpm的运行用户是apache,所以apache用户需要对该目录有写权限
[root@zabbixserver ~]# chown -R apache:apache /usr/local/nginx/html/# 访问192.168.88.5/index.php,首次访问,将会自动跳转到安装页面:http://192.168.88.5/setup.php
[root@zabbixserver ~]# ls lnmp_soft/zabbix-3.4.4/frontends/ php
[root@zabbixserver ~]# cp -r lnmp_soft/zabbix-3.4.4/frontends/php/* /usr/local/nginx/html/
[root@zabbixserver ~]# chown -R apache:apache /usr/local/nginx/html/
访问192.168.88.5/index.php,首次访问,将会自动跳转到安装页面:http://192.168.88.5/setup.php
# 安装依赖的软件包
[root@zabbixserver ~]# yum install -y php-gd
php-xml php-bcmath php-mbstring
# 修改php.ini文件
[root@zabbixserver ~]# vim /etc/php.ini
672
post_max_size = 16M
384
max_execution_time = 300
394
max_input_time = 300
878
date.timezone = Asia/Shanghai
[root@zabbixserver ~]# systemctl restart
php-fpm
# 刷新web页
默认的登陆用户是admin,密码是zabbix。
第三步:在# 监控端(zabbix server)和被控端使用的软件是同一个,只是启用不同的功能
[root@zabbixserver ~]# scp
lnmp_soft/zabbix-3.4.4.tar.gz 192.168.88.100:/root
# 安装编译agent需要的依赖环境
[root@web1 ~]# yum install -y gcc pcre-devel
autoconf
# 编译agent
[root@web1 ~]# tar xf zabbix-3.4.4.tar.gz
[root@web1 ~]# cd zabbix-3.4.4/
[root@web1 zabbix-3.4.4]# ./configure
--enable-agent
[root@web1 zabbix-3.4.4]# make && make
install
# 修改配置文件
[root@web1 ~]# vim
/usr/local/etc/zabbix_agentd.conf
30
LogFile=/tmp/zabbix_agentd.log # 日志位置,不用改
69
EnableRemoteCommands=1 # 允许监控端远程执行命令
93
Server=127.0.0.1,192.168.88.5 # 允许自己和监控端进行数据采集
134 ServerActive=127.0.0.1,192.168.88.5 # 允许自己和监控端主动监控
145 Hostname=web1 # 自己的主机名
280 UnsafeUserParameters=1 # 允许用户自定义监控项
# 配置服务
[root@zabbixserver ~]# scp
/usr/lib/systemd/system/zabbix_agentd.service
192.168.88.100:/usr/lib/systemd/system/
[root@web1 ~]# useradd -s /sbin/nologin zabbix
[root@web1 ~]# systemctl daemon-reload
[root@web1 ~]# systemctl start
zabbix_agentd.service
[root@web1 ~]# systemctl enable
zabbix_agentd.service
[root@web1 ~]# ss -tlnp | grep :10050
LISTEN
0 128 *:10050zabbix客户端源码编译安装zabbix agent