zabbix的主要组成:
1、Zabbix Server6.4:Zabbix 服务端,是 Zabbix 的核心组件。它负责接收监控数据并触发告警,还负责将监控数据持久化到数据库中。
2、Zabbix Agent:Zabbix 客户端,部署在被监控设备上,负责采集监控数据,采集后的数据发送给 Zabbix Server 处理。Zabbix Agent 目前有两个版本:Zabbix agent 和 Zabbix agent 2。前者是 C 语言开发的,几乎支持所有的主流平台。而后者是 Go 开发的,优点包括:能有效降低 TCP 连接的数量;支持更高的并发;易于扩展。目标是替代 3、Zabbix agent ,目前只支持 Linux 和Windows 两个平台。
4、Zabbix Proxy:代替 Zabbix Server 接收监控数据并进行预处理,预处理后的数据批量发送给 Zabbix Server,这样可减轻 Zabbix Server 的压力。
6、Web 页面:可通过 Web 页面来管理和维护被监控设备的配置信息、查看监控数据、配置告警等。
6、数据库:负责存储被监控设备的配置信息和监控数据。支持的数据库有:MySQL(Percona,MariaDB),Oracle,PostgreSQL,TimescaleDB for PostgreSQL,SQLite
centeros7.9
zabbix Server 6.4
zabbix Agent
mysql8.0以上
nginx 1.22.1(也可以用Apache)
php 7.4以上
#下载
https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.32-1.el7.x86_64.rpm-bundle.tar
#上传后解压
mkdir mysql-8.0.32
tar -xvf mysql-8.0.32-1.el7.x86_64.rpm-bundle.tar
#忽略依赖检查强制安装,因为捆绑包里已经带依赖了,所以只要全部安装就可以,检查的话分先后顺序很麻烦的
cd mysql-8.0.32
rpm -ivh mysql-community-* --force --nodeps
#创建数据存储目录
mkdir -p /data/mysql
chown mysql:mysql /data/mysql
#修改mysql配置文件
vi /etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
port=3306
lower_case_table_names=1
max_connections=500
innodb_force_recovery=0
#先查看libaio包是否有安装(安装了则不用管,未安装可能出现启动失败缺包的情况)
yum install libaio
systemctl enable mysqld
systemctl start mysqld
#启动失败的话可以查看日志 /var/log/mysqld.log
#获取密码登录Mysql
cat /var/log/mysqld.log | grep password
#登陆,输入密码
mysql -uroot -p
#修改密码
alter user 'root'@'localhost' identified by '1qaz@WSX';
flush privileges;
@@@降低mysql密码设置等级,可选配置@@@
#密码检查等级,0/LOW、1/MEDIUM、2/STRONG
mysql> set global validate_password.policy=0;
#密码的最短长度
mysql> set global validate_password.length=6;
#密码至少要包含的小写字母个数和大写字母个数
mysql> set global validate_password.mixed_case_count=0;
#创建zabbix数据库
create database zabbix character set utf8 collate utf8_bin;
#创建用户(指定使用的身份验证插件)
create user 'zabbix'@'localhost' identified with mysql_native_password by '1qaz@WSX;
grant all privileges on zabbix.* to 'zabbix'@'localhost';
SET GLOBAL log_bin_trust_function_creators = 1;
flush privileges;
#安装nginx(离线安装,下载好rpm包上传后安装即可)
rpm -ivh http://rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/pcre2-10.23-2.el7.x86_64.rpm
rpm -Uvh http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.22.1-1.el7.ngx.x86_64.rpm
mkdir /data/web
mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak
#配置nginx配置文件
vi /etc/nginx/conf.d/zabbix.conf
server {
listen 80;
server_name localhost;
root /data/web;
location / {
index index.php index.html index.htm;
}
location ~ .php$ {
\#root /data/web;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
#启动服务
systemctl enable nginx
systemctl start nginx
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum -y install php74
yum -y install php74-php-bcmath php74-php-cli php74-php-common php74-php-devel php74-php-embedded php74-php-fpm php74-php-gd php74-php-intl php74-php-mbstring php74-php-mysqlnd php74-php-opcache php74-php-pdo php74-php-pear php74-php-pecl-igbinary php74-php-pecl-memcached php74-php-process php74-php-xml
#修改php配置文件
vi /etc/opt/remi/php74/php.ini
max_execution_time = 300
max_input_time = 300
post_max_size = 16M
#启动
systemctl enable php74-php-fpm
systemctl start php74-php-fpm
#浏览器输入服务器 IP地址查看网页是否能打开,网页能打开则为正常默认80端口
http://10.65.18.118
#创建用户
groupadd zabbix
useradd -g zabbix -M -s /sbin/nologin zabbix
#下载安装
wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.14.tar.gz
tar -xf zabbix-6.0.14.tar.gz
#安装依赖
yum -y install mysql-devel pcre-devel openssl-devel zlib-devel libxml2-devel net-snmp-devel net-snmp libssh2-devel OpenIPMI-devel libevent-devel openldap-devel libcurl-devel
#编译安装
export CFLAGS="-std=gnu99"
./configure --sysconfdir=/etc/zabbix --enable-server --with-mysql --with-net-snmp --with-libxml2 --with-ssh2 --with-openipmi --with-zlib --with-libpthread --with-libevent --with-openssl --with-ldap --with-libcurl --with-libpcre
make install
#修改配置文件
vi /etc/zabbix/zabbix_server.conf
12:ListenPort=10051
38:LogFile=/tmp/zabbix_server.log
87:DBHost=localhost
99:DBName=zabbix
115:DBUser=zabbix
123:DBPassword=Zabbix@123
515:Timeout=4
601:LogSlowQueries=3000
716:StatsAllowedIP=127.0.0.1
#向数据库中导入zabbix的库表及数据(注意导入的顺序)
mysql -uzabbix -pZabbix@123 zabbix < /usr/local/src/zabbix-6.0.14/database/mysql/schema.sql
mysql -uzabbix -pZabbix@123 zabbix < /usr/local/src/zabbix-6.0.14/database/mysql/images.sql
mysql -uzabbix -pZabbix@123 zabbix < /usr/local/src/zabbix-6.0.14/database/mysql/data.sql
导入报错:
ERROR 1366 (HY000) at line 1136: Incorrect string value: '\x94 coll...' for column 'description' at row 1
原因:
可知报错原因是因为插入的数据为中文字符,是编码问题
解决方法:
第一种:
如果单独执行sql语句不报错,但是是执行sql命令后报的错,那么原因就是这个sql文件的文件编码不对,不是UTF-8,改成UTF-8编码即可。
第二种
修改mysql的配置文件:vim /etc/my.cnf (这是linux环境的配置文件)
在配置文件中加入:
[mysqld]
character-set-server=utf8mb4
[mysql]
default-character-set=utf8mb4
重启mysql服务:service mysqld start
插入数据前执行sql语句:
alter table sys_dept convert to character set utf8mb4 collate utf8mb4_bin; (sys_dept 为表名)
第三种:
到数据库里面导入sql即可
#移动zabbix前端页面到网站根目录
cp -rp /zabbix/zabbix-6.0.14/ui/* /data/web/
#配置zabbix系统启停命令(注意这个文件是新增的)
vi /usr/lib/systemd/system/zabbix.service
[Unit]
Description=Zabbix Server with MySQL DB
After=syslog.target network.target mysqld.service
[Service]
Type=simple
ExecStart=/usr/local/sbin/zabbix_server -f
User=zabbix
[Install]
WantedBy=multi-user.target
#启动服务
systemctl daemon-reload
systemctl enable zabbix
systemctl start zabbix
安装链接
http://10.65.18.118/setup.php
输入服务器IP,按步骤进行部署
需要将配置文件复制到 /data/web/conf/zabbix.conf.php
安装完成
问题:
#解决ZABBIX6.0中文乱码的问题
将windows的 C:\Windows\Fonts 路径下将楷体的ttf文件复制到linux的 /data/web/assets/fonts 目录下
输入命令将楷体修改为默认字体
sed -i 's/DejaVuSans/simkai/g' /data/web/include/defines.inc.php
#安装fping
yum install fping
\#安装ZABBIX AGENT
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/6.0/rhel/7/x86_64/zabbix-agent-6.0.12-release1.el7.x86_64.rpm?spm=a2c6h.25603864.0.0.4a7e7a10yQa5Nh
##启动
systemctl start zabbix-agent
systemctl enable zabbix-agent
systemctl status zabbix-agent
vi /etc/zabbix/zabbix_agentd.conf
13:PidFile=/run/zabbix/zabbix_agentd.pid
32:LogFile=/var/log/zabbix/zabbix_agentd.log
43:LogFileSize=0
117:Server=10.65.18.118
171:ServerActive=127.0.0.1
182:Hostname=Zabbix server
323:Include=/etc/zabbix/zabbix_agentd.d/*.conf