Zabbix_server篇
- 例:zabbix_server: 172.16.10.11 zabbix_agent: 172.16.10.13
一. 部署LNMP基础运行环境
1. 安装nginx-1.18.0
1.1 安装依赖包
yum -y install gcc pcre-devel zlib-devel openssl-devel
1.2 解压nginx源码包,编译安装
tar -xf nginx-1.18.0.tar.gz
cd nginx-1.18.0/
./configure --prefix=/usr/local/nginx1180 --with-http_ssl_module
make && make install
1.3 修改配置文件,支持php
vim /usr/local/nginx1180/conf/nginx.conf
1.4 启动nginx服务
/usr/local/nginx1180/sbin/nginx
2. 安装mysql-5.7.29
2.1 此处采用mysq源码编译(脚本),具体可网上搜其它资源
准备: 脚本和包,放在同一目录下
包:mysql5729.tar.gz 脚本:mysql5729_install_v5.sh
执行方式:bash ./mysql5729_install_v5.sh
2.2 启动mysql服务
/etc/init.d/mysqld start
登录方式: mysql5729 -uroot -p
3.安装php-7.4.6(centos7)
3.1 升级操作系统自带的sqlite3
tar -xf sqlite-autoconf-3320100.tar.gz
cd sqlite-autoconf-3320100/
./configure --prefix=/usr/local/sqlite332
make && make install
mv /usr/bin/sqlite3 /usr/bin/sqlite3_bak
ln -s /usr/local/sqlite332/bin/sqlite3 /usr/bin/sqlite3
echo "/usr/local/sqlite332/lib/" >> /etc/ld.so.conf.d/sqlite3.conf
ldconfig
sqlite3 -version #验证
3.2 编译安装php
- 安装依赖包:
yum -y install curl-devel libevent-devel libxml2-devel libcurl-devel libpng libpng-devel libjpeg libjpeg-devel freetype freetype-devel
- 解包,编译安装
tar -xf php-7.4.6.tar.gz
cd php-7.4.6/
export PKG_CONFIG_PATH="/usr/local/sqlite332/lib/pkgconfig/"
./configure --prefix=/usr/local/php746/ --enable-fpm --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib --enable-xml --enable-bcmath --with-curl --enable-mbstring --enable-gd --with-openssl --enable-pcntl --enable-sockets --with-gettext --with-jpeg --with-freetype --disable-mbregex
- 编译安装
make && make install
- 设置php环境变量
vim /etc/profile
PATH=$PATH:/usr/local/php746/bin/
export PATH
cp php.ini-production /usr/local/php746/lib/php.ini
cp /usr/local/php746/etc/php-fpm.conf.default /usr/local/php746/etc/php-fpm.conf
cp /usr/local/php746/etc/php-fpm.d/www.conf.default /usr/local/php746/etc/php-fpm.d/www.conf
cp sapi/fpm/init.d.php-fpm etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
3.3 启动php-fpm服务
/etc/init.d/php-fpm start
3(补). yum安装PHP-5.6依赖包(centos6)
- PHP版本为5.6,安装采用离线安装的方式
- 3.1 提前准备yum离线包
tar -xf php56_soft.tar.gz
- 3.2 安装
cd ./php56_soft && yum -y install ./*.rpm
二.源码安装zabbix_server
1. 安装依赖包
yum -y install pcre net-snmp-devel
- 如果MySQL数据库和Zabbix_server不在同一台服务器上,则无需进行下一步卸载操作!
注:net-snmp-devel 需依赖安装mariadb-libs,会导致mysql服务启动冲突报错,强制卸载mariadb-libs
rpm -e mariadb-libs-5.5.65-1.el7.x86_64 --nodeps
- 须解决卸载后的问题:启动zabbix_server报错
ln -s /usr/local/mysql-5.7.29/lib/libmysqlclient.so.20 /usr/lib64/libmysqlclient.so.20
2. 解包,编译安装
tar -xf zabbix-4.4.8.tar.gz
cd zabbix-4.4.8/
./configure --prefix=/usr/local/zabbix448 --enable-server --enable-agent --with-mysql=/usr/local/mysql-5.7.29/bin/mysql_config --with-net-snmp -with-libcurl --with-libxml2
make && make install
- 如果编译报错: zabbix error: MySQL library not found
解决方案:
yum -y install mysql-devel
./configure --prefix=/usr/local/zabbix448 --enable-server --enable-agent --with-mysql --with-net-snmp -with-libcurl --with-libxml2
3. 创建zabbix数据库,创建并授权zabbix用户
useradd -s /bin/false zabbix
mysql5729 -uroot -p
> create database zabbix;
> grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
> grant all on zabbix.* to zabbix@”172.16.10.%” identified by 'zabbix'; # 此授权用于MySQL和Zabbix部署在不同服务器上
4. 导入zabbix所需的sql
mysql5729 -uroot -p
> use zabbix;
> source /root/zabbix/zabbix-4.4.8/database/mysql/schema.sql;
> source /root/zabbix/zabbix-4.4.8/database/mysql/images.sql;
> source /root/zabbix/zabbix-4.4.8/database/mysql/data.sql;
5. 上线zabbix网页到nginx网页根目录
mkdir /usr/local/nginx1180/html/zabbix
cd zabbix-4.4.8/frontends/php/
cp -a * /usr/local/nginx1180/html/zabbix/
chmod -R 777 /usr/local/nginx/html/zabbix/conf/ # 改权限,否则zabbix网页配置无法自动保存
6. 修改php相关参数以支持zabbix运行环境
vim /usr/local/php746/lib/php.ini
date.timezone = Asia/Shanghai
max_execution_time = 300
post_max_size = 32M
max_input_time = 300
7.创建数据目录,修改zabbix_server.conf配置文件
mkdir -p /data/zabbix/server_logs /data/zabbix/server_data
chown -R zabbix.zabbix /data/zabbix/
vim /usr/local/zabbix448/etc/zabbix_server.conf
DBHost=localhost # 如果MySQL数据不再本机,那么直接指定MySQL主机IP
DBName=Zabbix
DBUser=Zabbix
DBPassword=zabbix
PidFile=/data/zabbix/server_data/zabbix_server.pid
LogFile=/data/zabbix/server_logs/zabbix_server.log
# 一般包括:listenIP、listenPort、logFile、PidFile、DB参数
8.启动LNMP服务,zabbix_server服务
/usr/local/nginx1180/sbin/nginx -s reload
/etc/init.d/mysqld restart
/etc/init.d/php-fpm restart
/usr/local/zabbix448/sbin/zabbix_server
# 开放防火墙端口80,访问网页
firewall-cmd --zone=public --add-port=80/tcp --permanent
systemctl restart firewalld
9.访问zabbix网页,配置登录
http://172.16.10.11/zabbix/index.php
- 9.1 数据库配置
- 9.2 zabbix_server端口配置
- 9.3 配置成功
- 9.4 登录zabbix监控平台
默认账号:Admin 密码:zabbix
进入后,点击右上角‘头像 ’—> 可修改中文,账户密码:
Zabbix_agent篇
一.部署zabbix_agent
- agent部署也可脚本一键部署:
bash ./ zabbix_agentd_install_v1.sh
1. 源码安装zabbix-4.4.8
- 1.1 安装依赖包
yum -y install gcc pcre-devel
- 1.2 解包,编译安装
tar -xf zabbix-4.4.8.tar.gz
cd zabbix-4.4.8/
./configure --prefix=/usr/local/zabbix448 --enable-agent
make && make install
- 1.3 创建数据目录,添加zabbix用户
mkdir -p /data/zabbix/agent_logs /data/zabbix/agent_data
useradd -s /bin/false zabbix
chown -R zabbix.zabbix /data/zabbix/
- 1.4 修改配置,指定zabbix_server
vim /usr/local/zabbix448/etc/zabbix_agentd.conf
Server=172.16.10.11 # server端ip
ServerActive=172.16.10.11
Hostname=web13 # 本机主机名
PidFile=/data/zabbix/agent_data/zabbix_agentd.pid # pid文件和日志文件存放路径
LogFile=/data/zabbix/agent_logs/zabbix_agentd.log
Include=/usr/local/zabbix448/etc/zabbix_agentd.conf.d/ # 开启自定义监控项功能
UnsafeUserParameters=1
# 一般包括:listenIP、listenPort、logFile、PidFile、Server、 ServerActive、Hostname、Include、UnsafeUserParameters参数
2. 开放防火墙10050端口,启动zabbix_agentd服务
firewall-cmd --zone=public --add-port=10050/tcp --permanent
systemctl restart firewalld
/usr/local/zabbix448/sbin/zabbix_agentd
二.Zabbix_server端网页配置被监控主机
1. 登录监控网页平台
http://172.16.10.11/zabbix/index.php
2. 添加被监控主机172.16.10.13
配置 ----> 主机 ----> 创建主机:web13,主机群组:web,IP及端口
3. 选择监控模板
被监控主机---->模板---->如:Template OS Linux by Zabbix agent
4. 查看监控数据
监测 ----> 最新数据 ----> 被监控主机web13 ----> 应用
5. 监控数据,‘图形’显示 :中文乱码
解决:拷贝所需字体到zabbix_server
C:\Windows\Fonts\下的字体(如:华文楷体 常规、楷体 常规)
---->/usr/local/nginx1180/html/zabbix/assets/fonts/
vim …/html/zabbix/include/defines.inc.php # 搜font