CentOS7 安装 Zabbix3.10
文章目录
环境
- 操作系统:CentOS7 (192.168.1.100)
- 数据库:MariaDB 10.1.26
- Web后台:PHP 5.6.31
- Web引擎:Nginx 1.12.1
- Zabbix:Zabbix 3.0.10
- 部署方式:单机部署
安装操作系统 CentOS
- 推荐 RHEL6 及以上的 x64 版本。
- 这里最小安装 CentOS7 ,外网不可达服务器可能需要配置本地 yum 源。
安装数据库 MariaDB
- MariaDB/MySQL 的常见版本。
- 本地如果已存在可用的 MariaDB/MySQL 数据库,则可跳过此步。
- 安装方式很多,这里直接用官方编译好的二进制通用包:
- CentOS7 下载 mariadb-10.1.26-linux-glibc_214-x86_64.tar.gz
- CentOS6 下载 mariadb-10.1.26-linux-x86_64.tar.gz
- 安装 参考我的另一篇博客
安装 PHP
-
PHP-5.5 及以上版本。
-
本地如果已存在可用的 PHP ,则可跳过此步。
-
安装方法很多,这里使用官方源码编译:
-
安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
# 解压 tar jxf php-5.6.31.tar.bz2 -C /root/ cd /root/php-5.6.31/ # 安装依赖包 yum install gcc make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel # 创建安装目录 mkdir /opt/php-5.6.31/etc/ -p ln -s /opt/php-5.6.31 /opt/php # 检查编译环境 ./configure --prefix=/opt/php \ --with-config-file-path=/opt/php/etc --with-bz2 --with-curl \ --enable-ftp --enable-sockets --disable-ipv6 --with-gd \ --with-jpeg-dir=/usr/local --with-png-dir=/usr/local \ --with-freetype-dir=/usr/local --enable-gd-native-ttf \ --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar \ --with-gettext --with-libxml-dir=/usr/local --with-zlib \ --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd \ --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath # 编译安装 make make install
-
配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
# 复制配置文件 cp php.ini-production /opt/php/etc/php.ini cp /opt/php/etc/php-fpm.conf.default /opt/php/etc/php-fpm.conf # 修改 /opt/php/etc/php.ini 的下面选项 max_execution_time = 300 memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M max_input_time = 300 date.timezone PRC always_populate_raw_post_data = -1 # php 与 mysql 同机可指定 mysql 本地套接字 pdo_mysql.default_socket = /tmp/mysql.sock #指定数据库本地套接字地址 mysqli.default_socket = /tmp/mysql.sock #指定数据库本地套接字地址 # 修改 /opt/php/etc/php-fpm.conf 的下面选项 user = nobody group = nobody # php 与 nginx 同机可指定 php 套接字,供 nginx 配置使用 #listen = 127.0.0.1:9000 listen = /dev/shm/phpfpm.sock listen.owner = nobody listen.group = nobody listen.mode = 0660
-
启动
1
/opt/php/sbin/php-fpm
安装 Nginx
-
Nginx 的常见版本。
-
本地如果已存在可用的 Nginx ,则无需再次安装,直接在配置文件中添加配置即可。
-
安装方式很多,这里使用官方源码编译:
-
安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
# 解压 tar zxf nginx-1.12.1.tar.gz -C /root/ cd /root/nginx-1.12.1/ # 安装依赖包 yum install pcre pcre-devel openssl openssl-devel # 创建安装目录 mkdir /opt/nginx-1.12.1 ln -s /opt/nginx-1.12.1 /opt/nginx # 检查编译环境 ./configure --prefix=/opt/nginx \ --with-http_ssl_module --with-pcre \ --with-http_stub_status_module # 编译安装 make make install
-
配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
# 在 /opt/nginx/conf/nginx.conf 中配置 php server { listen 80; index index.php index.html index.html; root html; location /zabbix/ { access_log /var/log/nginx/zabbix-access.log main; index index.php index.html index.html; } location ~ ^/zabbix/.+\.php$ { access_log /var/log/nginx/zabbix-access.log login; index index.php index.html index.html; expires -1s; include fastcgi_params; try_files $uri =404; fastcgi_pass unix:/dev/shm/phpfpm.sock; fastcgi_index index.php; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_split_path_info ^(.+\.php)(/.+)$; break; } }
-
启动
1
/opt/nginx/sbin/nginx
安装 Zabbix Server
-
推荐 Zabbix 3.0 及以上版本。
-
安装方式很多,这里使用官方源码编译:
-
安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
# 解压 tar zxf zabbix-3.0.10.tar.gz -C /root/ cd /root/zabbix-3.0.10/ # 安装依赖包 yum install snmp-devel curl-devel # 创建安装目录 mkdir /opt/zabbix-server-3.0.10 ln -s /opt/zabbix-server-3.0.10 /opt/zabbix-server # 检查编译环境 ./configure --prefix=/opt/zabbix-server/ --enable-server \ --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 # 编译安装 make make install
-
创建数据库
1 2 3 4 5 6 7 8 9 10
mysql -uroot -p12345678 mysql> create database db_zbx default charset utf8; mysql> create user zbx@localhost identified by 'zbx_pass'; mysql> grant all on db_zbx.* to zbx@localhost; mysql> grant reload on *.* to zbx@localhost; mysql> flush privileges; mysql> quit; mysql -uzbx -pzbx_pass db_zbx < database/mysql/schema.sql mysql -uzbx -pzbx_pass db_zbx < database/mysql/images.sql mysql -uzbx -pzbx_pass db_zbx < database/mysql/date.sql
-
配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
# 在 /opt/zabbix-server/etc/zabbix_server.conf 中,修改如下配置 DBHost=localhost DBName=db_zbx DBUser=zbx DBPassword=zbx_pass # 这里的数据库是 mysql 且 DBHost 配置为 localhost,zabbix 会使用 mysql.sock 连接 mysql DBSocket=/tmp/mysql.sock DBPort=3306 AllowRoot=1 # 在 /opt/zabbix-server/etc/zabbix_agentd.conf 中,修改如下配置 EnableRemoteCommands=1 Server=127.0.0.1 ServerActive=127.0.0.1 Hostname=127.0.0.1 AllowRoot=1
-
启动
1 2
/opt/zabbix-server/sbin/zabbix_server /opt/zabbix-server/sbin/zabbix_agentd
配置 zabbix 管理网站
-
部署前端文件
1
cp -ar frontends/php /opt/nginx/html/zabbix
-
浏览器打开 http://192.168.1.100/zabbix/
-
根据界面提示配置数据库及相关 zabbix 信息,生成配置文件 /opt/nginx/html/zabbix/conf/zabbix.conf.php
-
修改 /opt/nginx/html/zabbix/conf/zabbix.conf.php
1 2 3
#zabbix server 与 nginx、php、mysql 同机时,可注释 DB['SERVER'] 和 DB['PORT'] 项,使 php 通过 mysql.sock 与本地 MariaDB 通信 #$DB['SERVER'] = 'localhost'; #$DB['PORT'] = '0';
登陆 zabbix 管理网站
- 浏览器输入 http://192.168.1.100/zabbix/
- 默认用户名: admin ,默认密码: zabbix
安装 Zabbix Agent
-
推荐 Zabbix 3.0 及以上版本。
-
安装方式很多,这里使用官方源码编译:
-
下载 zabbix-3.0.10.tar.gz (同 server)
-
安装
1 2 3 4 5 6 7 8 9 10 11 12 13
# 解压 tar zxf zabbix-3.0.10.tar.gz -C /root/ cd /root/zabbix-3.0.10/ # 创建安装目录 mkdir /opt/zabbix # 检查编译环境 ./configure --prefix=/opt/zabbix --enable-agent # 编译安装 make make install
-
配置
1 2 3 4 5 6
# 在 /opt/zabbix/etc/zabbix-agentd.conf 中,修改如下配置 EnableRemoteCommands=1 Server=192.168.1.100 ServerActive=192.168.1.100 Hostname=192.168.1.101 AllowRoot=1
-
启动
1
/opt/zabbix/sbin/zabbix_agentd
管理界面增加监控主机
- 登陆 zabbix 管理界面 http://192.168.1.100/zabbix
- 在 “配置-主机” 下点击 “新增主机”, 名称填写被监控服务器中 /opt/zabbix/etc/zabbix_agentd.conf 中 Hostname 项(192.168.1.101)
- 在主机 (192.168.1.101) 下添加需要的监控项、触发器及图形,即可完成该服务器的监控。
参考
文章作者 Colben
上次更新 2019-10-30