Centos7.9源码安装配置zabbix服务器和客户端

时间:2022-11-04 12:09:59

第一步:配置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

--enable-server: 安装服务器端--enable-agent: 安装被控端--with-mysql: 指定mysql数据库配置程序--with-net-snmp: 配置可以通过snmp收集数据--with-libcurl: 启用curl库,以便zabbix可以通过curl连接web服务

[root@zabbixserver zabbix-3.4.4]# make && make install • 初始化

2.3创建zabbix存储数据的数据库。创建名为zabbix的数据库,使用的字符集是utf8

[root@zabbixserver ~]# mysql MariaDB [(none)]> create database zabbix default charset utf8;

创建名为zabbix的用户,密码也是zabbix,可以对zabbix数据库拥有全部权限。zabbix@'%'格式是:zabbix@客户端地址在mysql中,%表示0到多个任意字符

MariaDB [(none)]> grant all on zabbix.* to zabbix@'%' identified by 'zabbix';

授权zabbix用户可以在本机登陆

MariaDB [(none)]> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix'; MariaDB [(none)]> exit

2.4. 导入zabbix表结构,3个sql文件按顺序导入

[root@zabbixserver ~]# cd lnmp_soft/zabbix-3.4.4/database/mysql/ [root@zabbixserver mysql]# ls data.sql images.sql schema.sql

-u指定用户名,-p指定密码,第3个zabbix是数据库

[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

2.5. 配置zabbix_server服务

[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 # 连接数据库的密码

2.6. 创建用于运行zabbix的用户-s /sbin/nologin: 用户不能登陆系统

[root@zabbixserver ~]# useradd -s /sbin/nologin zabbix

创建用于管理zabbix的service文件service文件格式参考:https://www.cnblogs.com/gongxianjin/p/15673132.html

[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

2.7 启动服务新建service文件,一般需要执行systemctl daemon-reload,否则有可能识别不到

[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.ph​p

拷贝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

Centos7.9源码安装配置zabbix服务器和客户端

Centos7.9源码安装配置zabbix服务器和客户端

# 安装依赖的软件包
[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