如何在Anolis OS 8.2上安装和配置Zabbix 6.4(LNMP+PGSQL 15+PHP8)?
最编程
2024-08-09 19:58:34
...
一、事前准备
尽量保持是干净的空系统
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
systemctl stop firewalld.service
systemctl disable firewalld.service
#如果开启了防火墙,需要开启使用的端口,如80 443 5432 10050 10051等
二、安装部署zabbix6.4服务端
1、部署yum源
rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/8/x86_64/zabbix-release-6.4-1.el8.noarch.rpm
dnf clean all
dnf makecache
2、安装php8
要注意系统自带是7.2,zabbix6.4最低支持php7.4
dnf module switch-to php:8.0
3、安装server端、web前端、agent端用到的组件
dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
4、安装数据库(这里用postgresql,也可以用mariadb)
sudo dnf install -y https://mirrors.aliyun.com/postgresql/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo dnf list |grep postgresql #查看postgresql列表
sudo dnf -qy module disable postgresql #禁止系统内置的,时间有点长
sudo dnf install -y postgresql15-server #安装最新版
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
sudo systemctl enable postgresql-15
sudo systemctl start postgresql-15
#设置postgres的密码
passwd postgres
#切换postgres用户
su - postgres
#修改postgres的password
[postgres@anolis-zabbix]psql
psql (15.2)
postgres=# ALTER USER postgres WITH PASSWORD 'PASSWORD';
ALTER ROLE
postgres=# \q
#开放端口,按需进行其他配置
vi /var/lib/pgsql/15/data/postgresql.conf
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
port = 5432 # (change requires restart)
max_connections = 200 #这里默认是25,必须要改大,不然初始化zabbix过不去
#添加远程访问权限
vi /var/lib/pgsql/15/data/pg_hba.conf
#添加一行
host all all 0.0.0.0/0 md5
#重启数据库
su #(最好先切回root)
systemctl restart postgresql-15
5、配置timescaleDB
(1)安装数据源
tee /etc/yum.repos.d/timescale_timescaledb.repo <<EOL
[timescale_timescaledb]
name=timescale_timescaledb
baseurl=https://packagecloud.io/timescale/timescaledb/el/$(rpm -E %{rhel})/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/timescale/timescaledb/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
EOL
(2)安装并配置timescaledb数据库
#这里要注意版本号跟上面的poostgresql版本相同,并且当前timescaledb的最新2.10.3不支持,需要用2.9+
dnf install timescaledb-2-postgresql-15-2.9.3 timescale-2-loader-postgresql-15-2.9.3
timescaledb-tune --pg-config=/usr/pgsql-15/bin/pg_config #这里一直y即可,可以按需调整
systemctl restart postgresql-15
(3)登陆测试
psql -U postgres -h localhost
postgres=# CREATE EXTENSION timescaledb;
6、安装备用软件以及中文
dnf install -y lrzsz bash-completion vim wget net-tools telnet langpacks-zh_CN.noarch
dnf reinstall glibc-common
7、配置postgresql
#这里需要先处理权限问题,不然导入不了
chmod u+w /etc/sudoers
vi /etc/sudoers
#这里要找到root ALL=(ALL),在下面添加
zabbix ALL=(ALL)
#保存,撤销sudoers文件写权限
chmod u-w /etc/sudoers
#创建zabbix用户
su - postgres
createuser --pwprompt zabbix #这一步有创建zabbix用户的密码的过程,记住这个密码,这个很重要
#创建zabbix数据库
createdb -O zabbix -E Unicode -T template0 zabbix
#导入数据库结构
su root
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
#开启timescaledb插件
echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
cat /usr/share/zabbix-sql-scripts/postgresql/timescaledb.sql | sudo -u zabbix psql zabbix
#编辑配置文件
vi /etc/zabbix/zabbix_server.conf
DBPassword=password
DBPort=5432
DBHost=127.0.0.1
8、修改php参数
vi /etc/php-fpm.d/zabbix.conf
#修改时区和ACL
listen.acl_users = apache,nginx
php_value[date.timezone] = Asia/Shanghai
9、配置前端
(1)修改nginx配置
vi /etc/nginx/conf.d/zabbix.conf
#取消注释
server {
listen 80;
server_name xxx.xxx.xxx.xxx;
(2)启动zabbix并设置开机自启动
systemctl enable zabbix-server nginx php-fpm
systemctl start zabbix-server nginx php-fpm
(3)进入网址ui前端(http://ip:80)
可以选择chiese(zh_CN),上面已经安装了
这里的password是上面zabbix用户的密码
10、登陆zabbix
默认账号Admin/zabbix
11、解决图中的中文乱码
取任意字体文件如 simhei.ttf拷贝至/usr/share/zabbix/assets/fonts
修改配置文件,然后刷新界面即可
vi /usr/share/zabbix/include/defines.inc.php
define('ZBX_FONTPATH', realpath('assets/fonts')); // where to search for font (GD > 2.0.18)
define('ZBX_GRAPH_FONT_NAME', 'simhei');
#define('ZBX_GRAPH_FONT_NAME', 'graphfont'); // font file name
define('ZBX_GRAPH_LEGEND_HEIGHT', 120); // when graph height is less then this value, some legend will not show up
三、安装部署zabbix6.4客户端
这里上面已经安装了zabbix-agent,所以直接修改配置文件
vi /etc/zabbix/zabbix_agentd.conf
#主要修改以下内容,剩余的内容按需调整
Server=xxx.xxx.xxx.xxx //这里修改为zabbix服务器ip地址
ListenPort=10050
# Mandatory: yes, if StartAgents is not explicitly set to 0
### Option: StartAgents 被动模式为3,主动模式请启用并设置为0,并设置服务器ip
# StartAgents=3
#ServerActive=xxx.xxx.xxx.xxx //这里是采用主动模式时的zabbix服务器ip地址
Hostname=Zabbix server //这里设置客户端主机名,注意这里的名称和在zabbix添加客户机时所填的主机名要一致
systemctl enable zabbix-agent
systemctl start zabbix-agent
在系统里,zabbix6.4默认添加了对server的监控,当agent开启时,发现这里zbx已经亮灯
至此完成基本的单节点搭建
参考:
blog.51cto.com/u_11442747/…
developer.aliyun.com/article/110…