Zabbix5.0.2 + PostgreSQL源码部署

一、介绍

本文介绍使用源码编译安装Nginx、PHP、PostgreSQL和Zabbix。PgSQL可部署与于zabbix server本机,也可以部署在另外一台机器,本文档采用部署zabbix server、PostgreSQL分离两台主机部署单实例Zabbix。
可用于参考,注意在配置文件及启动脚本中检查pid文件、日志文件等路径,不要直接复制粘贴。

操作系统:CentOS7.5

安装包版本:

Nginx:nginx-1.18.0.tar.gz

PHP:php-7.2.9.tar.gz

PostgreSQL:postgresql-10.13.tar.gz

Zabbix:zabbix-5.0.2.tar.gz

自定义服务安装路径:

[root@zabbix-server /]# cd /data/
[root@zabbix-server data]# tree -L 3
.
├── app
│   ├── nginx
│   ├── php72
│   └── zabbix
├── appData
│   ├── nginx
│   ├── php72
│   └── zabbix
├── logs
│   ├── nginx
│   ├── php72
│   └── zabbix
├── pid
│   ├── php-fpm.pid
│   └── zabbix_server.pid
└── tmp
    ├── zabbix_server_alerter.sock
    ├── zabbix_server_lld.sock
    └── zabbix_server_preprocessing.sock

[pgsql@zabbix-pgsql data]$ tree -L 2
.
├── app
│   ├── postgresql
│   └── zabbix
├── appData
│   ├── postgresql
│   └── zabbix
├── logs
│   ├── postgresql
│   └── zabbix
├── lost+found
├── pid
│   └── zabbix_agentd.pid
└── tmp
    └── zabbix

参考文章:

https://blog.csdn.net/Linjingke32/article/details/80393576

https://blog.51cto.com/zlong37/2502652

二、源码部署Nginx

正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好。

CentOS7平台编译环境使用如下指令,其他平台方式或有不同。

2.1 安装Nginx依赖组件:

sudo yum -y install wget vim gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel

2.2 下载源码安装包:

cd /opt/
sudo wget http://nginx.org/download/nginx-1.18.0.tar.gz

2.3 解压源码安装包:

sudo tar -xvf nginx-1.18.0.tar.gz

2.4 创建用户和组,编译安装:

groupadd nginx 
useradd -g nginx nginx
cd nginx-1.18.1.tar.gz/
sudo ./configure  --prefix=/data/app/nginx --user=nginx --group=nginx
sudo make -j 16        # 16为服务器CPU核数 
sudo make install

2.5 控制nginx服务:

sudo /data/app/nginx/sbin/nginx -s stop  # 停止
sudo /data/app/nginx/sbin/nginx         # 启动
sudo /data/app/nginx/sbin/nginx -t       # 检查配置文件
sudo /data/app/nginx/sbin/nginx -s reload # 重新加载配置文件 

用systemctl管理nginx:

sudo vim /usr/lib/systemd/system/nginx.service
########################
[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/data/app/nginx/sbin/nginx
ExecReload=/data/app/nginx/sbin/nginx -s reload
ExecStop=/data/appn/ginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target
##############################
sudo systemctl daemon-reload
sudo systemctl start nginx.service
sudo systemctl enable nginx.service   # 添加开机自启

例子

参数用法示例(所有这些都需要在一行中键入):

./configure
    --sbin-path=/usr/local/nginx/nginx \ 
    --conf-path=/usr/local/nginx/nginx.conf \
    --pid-path=/usr/local/nginx/nginx.pid \
    --with-http_ssl_module \
    --with-pcre = ../pcre-4.4 \
    --with-zlib = ../zlib-1.1.3 

注释:

在FreeBSD下使用系统PCRE库时,应指定以下选项:

–with-ld-opt = “-L /usr/local/lib” \

–with-cc-opt = “-I /usr/local/include”

如果select()需要增加支持的文件数,也可以这样指定:

–with-cc-opt = “-D FD_SETSIZE = 2048”

三、源码部署PHP

本文档是将php-fpm作为一个独立的服务来安装。

3.1 安装php依赖组件:

sudo yum -y install wget libxml2 libxml2-devel curl-devel libjpeg-devel libpng-devel freetype-devel libicu-devel libxslt-devel openssl-devel glibc-headers gcc-c++ make
yum -y install unixODBC-devel
yum -y install openldap
yum -y install openldap-devel
yum -y install postgresql-devel
 

3.2 下载源码安装包:

获取并解压 PHP 源代码:

cd /opt/
sudo wget https://www.php.net/distributions/php-7.2.9.tar.gz
# 解压源码安装包:
sudo tar -xvf php-7.2.9.tar.gz

配置并构建 PHP。在此步骤您可以使用很多选项自定义 PHP,例如启用某些扩展等。 运行 ./configure --help 命令来获得完整的可用选项清单。 在本示例中,我们仅进行包含 PHP-FPM 和 MySQL 支持的简单配置。

3.3 编译安装php:

cp -frp /usr/lib64/libldap\* /usr/lib/
--with-ldap=DIR.  --with-ldap-sasl=DIR
出问题:
/usr/bin/ld: test_desktop_utils-test-desktop-utils.o: undefined reference to symbol 'g_desktop_app_info_get_filename'
//usr/lib/x86_64-linux-gnu/libgio-2.0.so.0: error adding symbols: DSO missing from command line
sudo cd /php-7.2.9
./configure --prefix=/data/app/php72 --with-fpm-user=www --with-fpm-group=www --enable-fpm --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pdo-pgsql --with-pgsql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-intl --enable-pcntl --enable-ftp --with-gd --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-xsl --with-unixODBC=/usr --with-pdo-odbc=unixODBC,/usr
sudo make
sudo make install
# 参考:
./configure --prefix=/usr/local/php \
--enable-fpm \
--with-fpm-user=www-data \
--with-fpm-group=www-data \
--with-pdo-pgsql \
--with-pdo-mysql=mysqlnd \
--with-mysql-sock=/data/mysqldata/3306/mysql.sock \
--with-pgsql \
--with-zlib-dir \
--with-freetype-dir \
--enable-mbstring \
--with-libxml-dir=/usr \
--enable-soap \
--enable-calendar \
--with-curl \
--with-gd \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--enable-exif \
--enable-bcmath \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-pdo-mysql \
--with-mysqli \
--with-jpeg-dir \
--with-png-dir \
--with-openssl \
--with-libdir=/lib/x86_64-linux-gnu/ \
--enable-ftp \
--with-gettext \
--with-xmlrpc \
--with-xsl \
--enable-opcache \
--with-iconv \
--with-xpm-dir=/usr \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-iconv-dir \
--with-kerberos \
--with-pdo-sqlite \
--with-pear \
--enable-libxml \
--enable-shmop \
--enable-xml

创建配置文件,并将其复制到正确的位置:

sudo cp /opt/php-7.2.9/php.ini-production /data/app/php72/etc/php.ini
sudo cp /data/app/php72/etc/php-fpm.conf.default /data/app/php72/etc/php-fpm.conf
sudo cp /data/app/php72/etc/php-fpm.d/www.conf.default /data/app/php72/etc/php-fpm.d/www.conf
sudo cp /opt/php-7.2.9/sapi/fpm/php-fpm /data/app/php72/bin 

需要着重提醒的是,如果文件不存在,则阻止 Nginx 将请求发送到后端的 PHP-FPM 模块,以避免遭受恶意脚本注入的攻击。

将php-fpm控制脚本加入到/etc/init.d/下,并给予可执行权限:

sudo cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm 
sudo chmod +x /etc/init.d/php-fpm

将 php.ini 文件中的配置项 cgi.fix_pathinfo 设置为 0 。

打开 php.ini:

sudo vim /data/app/php72/etc/php.ini
# 定位到 cgi.fix_pathinfo= 并将其修改为如下所示:
cgi.fix_pathinfo=0

在启动服务之前,需要修改 php-fpm.conf 配置文件,修改日志路径、pid文件路径以及日志级别。可修改 php-fpm 模块指定的用户和用户组的身份运行,默认使用nobody用户和nobody用户组的身份运行。一般在./php.conf.d/www.conf中修改。

[global] 
pid = /data/pid/php72/php-fpm.pid
error_log = /data/logs/php72/php-fpm.log
log_level = warning
#下面的配置在php-fpm.d目录下的www.conf配置里面,基本无需修改
[www]
listen = /data/appData/tmp/php-cgi.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
;pm = dynamic
;pm.max_children = 20
;pm.start_servers = 10
;pm.min_spare_servers = 10
;pm.max_spare_servers = 20
request_terminate_timeout = 100
request_slowlog_timeout = 0
slowlog = /data/appData/logs/php72/slow.log

可指定运行php-fpm服务的用户,找到以下内容并修改:

sudo vim /data/app/php72/etc/php-fpm.d/www.conf
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = www     # 默认nobody用户
group = www    # 默认nobody用户组

3.4 启动 php-fpm 服务:

/data/app/php72/sbin/php-fpm { start | restart | stop}

也可使用php-fpm命令进行控制,前提是在前面步骤中已经将php-fpm控制脚本加入到/etc/init.d/下,并给予可执行权限:

/etc/init.d/php-fpm start    #启动 
/etc/init.d/php-fpm stop    #停止 
/etc/init.d/php-fpm restart  #重启 
#添加开机启动
chkconfig php-fpm on

本文档未涵盖对 php-fpm 进行进一步配置的信息,如果您需要更多信息,请查阅相关文档。

3.5 配置 Nginx 使其支持 PHP 应用:

sudo vim /data/app/nginx/conf/nginx.conf
修改默认的 location 块,使其支持 .php 文件:

location / {
        root   html;
        index  index.php index.html index.htm;    # 优先匹配index.php
}
# 下一步配置来保证对于 .php 文件的请求将被传送到后端的 PHP-FPM 模块, 取消默认的 PHP 配置块的注释,并修改为下面的内容:
location ~* \.php$ {
    fastcgi_index   index.php;
    fastcgi_pass    127.0.0.1:9000;
    include         fastcgi_params;
    fastcgi_param   SCRIPT_FILENAME   $document_root$fastcgi_script_name;
    fastcgi_param   SCRIPT_NAME       $fastcgi_script_name;
}

重启 Nginx:

/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx

3.6 测试:

创建测试文件。

echo "<?php phpinfo(); ?>" >> /data/app/nginx/html/index.php

打开浏览器,访问 http://localhost,将会显示 phpinfo() 。

四、源码部署PostgreSQL

4.1 基础依赖安装

make版本3.80或以上

make --version
yum install -y readline readline-devel openssl openssl-devel zlib zlib-devel

4.2 创建安装用户:

useradd postgres
# 使用普通用户登陆安装
su - postgres

4.3 下载解压

cd /opt/
wget https://ftp.postgresql.org/pub/source/v10.13/postgresql-10.13.tar.gz
# 校验源码包的md5值
md5sum postgresql-10.13.tar.gz     
85a136fcf11283b544f4bb5b0678a4b9
tar -xvf postgresql-10.13.tar.gz 

4.4 编译安装 :

./configure --prefix=/data/app/postgresql
make -j n         # n为cpu核数
make install

可参考官方文档:

https://www.postgresql.org/docs/current/installation.html

4.5 配置环境变量

vim ~/.bash_profile  # 添加一下两行
export PG_HOME=/data/app/postgresql
export PATH="$PG_HOME/bin:$PATH"

使配置文件生效:

source ~/.bash_profile

4.6 目录授权

 mkdir /data/appData/postgresql/ -p
 sudo chown -R postgres:postgres /data/appData/postgresql
[pgsql@zabbix-pgsql postgresql]$ mkdir /data/logs/postgresql/
[pgsql@zabbix-pgsql postgresql]$ touch /data/logs/postgresql/server.log

4.7 服务操作

启动:


# ./pg_ctl -D /data/appData/postgresql/ -l logfile start
cd /data/app/postgresql/bin
./pg_ctl -D /data/appData/postgresql/ -l /data/logs/postgresql/server.log start

关闭:

cd /data/app/postgresql/bin
./pg_ctl -D /data/appData/postgresql/ -l /data/logs/postgresql/server.log stop

4.8 登录数据库客户端

这里使用psql命令行交互式客户端工具去连接postgresql,连接数据库的格式:

psql -h {主机名或IP地址} -p {端口} {数据库名称} {用户名称}

这些参数也可以通过环境变量指定:

PGDATABASE、PGHOST、PGPORT、PGUSER

指定了环境变量,后面直接运行psql命令即可直接连接指定的数据库。

连接时提示如下错误:

# 默认端口可不用写--port参数,添加过环境变量可直接使用命令
psql --port 5432 
psql: FATAL:   database "postgres" does not exist

为什么会出现这个错误?因为在安装PostgreSQL时,会建立一个与初始化数据库时的系统用户名的同名数据库用户,同时,这个用户就是数据库的超级用户,在这个用户登录时执行的是操作系统认证,所以不需要用户名和密码(如也需密码认证,可修改文件pg_hba.conf),之前用的postgres用户初始化,没有建立数据库postgres,因此,这里首先新建一个linjk名称的数据库。

创建一个名为postgres的数据库:

# 没有添加过环境变量要在相应路径下执行可执行文件
cd /data/app/postgresql/bin
./createdb --port 5432 postgres
# 默认监听端口5432

再次连接可登录成功,注意,此时密码为空,需要设置密码,输入\password可设置密码(psql的命令以斜杠’'开头):

[postgres@zabbix-pgsql ~]$ psql
psql (10.13)
Type "help" for help.

postgres=# \password

输入\l可以查看所有数据库列表:
在这里插入图片描述

template0和template1是模板数据库,用户在建数据库时,默认从模板数据库template1克隆出来的,因此,我们可以定制template1数据库中的内容,如增加公共的表或函数,这样后续创建的新库也有拥有这些表或函数,相比于template1数据库,template0数据库是最简化的数据库。pgsql库是我本机实验的用户名,zabbix库是我zabbix监控用的库,后边zabbix部分会讲怎么创建。

输入\d可查看数据库中的所有表。

输入\c {数据库名} 可切换当前使用的使用数据库。

输入\q可退出登陆。

4.9 性能优化:

修改参数:

选项默认值说明是否优化原因
max_connections100允许客户端连接的最大数目因为在测试的过程中,100个连接已经足够
fsyncon强制把数据同步更新到磁盘因为系统的IO压力很大,为了更好的测试其他配置的影响,把改参数改为off
shared_buffers24MB决定有多少内存可以被PostgreSQL用于缓存数据(推荐内存的1/4)在IO压力很大的情况下,提高该值可以减少IO
work_mem1MB使内部排序和一些复杂的查询都在这个buffer中完成有助提高排序等操作的速度,并且减低IO
effective_cache_size128MB优化器假设一个查询可以用的最大内存,和shared_buffers无关(推荐内存的1/2)设置稍大,优化器更倾向使用索引扫描而不是顺序扫描
maintenance_work_mem16MB这里定义的内存只是被VACUUM等耗费资源较多的命令调用时使用把该值调大,能加快命令的执行
wal_buffer768kB日志缓存区的大小可以降低IO,如果遇上比较多的并发短事务,应该和commit_delay一起用
checkpoint_segments3设置wal log的最大数量数(一个log的大小为16M)默认的48M的缓存是一个严重的瓶颈,基本上都要设置为10以上
checkpoint_completion_target0.5表示checkpoint的完成时间要在两个checkpoint间隔时间的N%内完成能降低平均写入的开销
commit_delay0事务提交后,日志写到wal log上到wal_buffer写入到磁盘的时间间隔。需要配合commit_sibling能够一次写入多个事务,减少IO,提高性能
commit_siblings5设置触发commit_delay的并发事务数,根据并发事务多少来配置减少IO,提高性能
autovacuum_naptime1min下一次vacuum任务的时间提高这个间隔时间,使他不是太频繁
autovacuum_analyze_threshold50与autovacuum_analyze_scale_factor配合使用,来决定是否analyze使analyze的频率符合实际
autovacuum_analyze_scale_factor0.1当update,insert,delete的tuples数量超过autovacuum_analyze_scale_factor*table_size+autovacuum_analyze_threshold时,进行analyze。使analyze的频率符合实际

下面介绍几个我认为重要的:

1、增加maintenance_work_mem参数大小

增加这个参数可以提升CREATE INDEX和ALTER TABLE ADD FOREIGN KEY的执行效率。

2、增加checkpoint_segments参数的大小

增加这个参数可以提升大量数据导入时候的速度。

3、设置archive_mode无效

这个参数设置为无效的时候,能够提升以下的操作的速度

・CREATE TABLE AS SELECT

・CREATE INDEX

・ALTER TABLE SET TABLESPACE

・CLUSTER等。

4.10 高可用方案:

参考https://www.cnblogs.com/songyuejie/p/4561089.html

五、源码部署Zabbix

5.1 修改主机名:

hostnamectl set-hostname zabbix-server

5.2 安装依赖:

yum install -y postgresql-devel mysql-devel libcurl libevent libevent-devel fping curl-devel libxml2  libxml2-devel snmpd net-snmp-devel net-snmp

5.3 下载zabbix安装包

cd /opt/
wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.2.tar.gz
# 或者其他方式下载后上传到服务器
# 解压
tar -xvf zabbix-5.0.2.tar.gz

5.4 创建数据库:

在zabbix源码包解压路径下zabbix-5.0.2/database有各种数据库用到的库表结构

[root@zabbix-server database]# pwd
/opt/zabbix-5.0.2/database
[root@zabbix-server database]# ls
elasticsearch  Makefile  Makefile.am  Makefile.in  mysql  oracle  postgresql  sqlite3
# 在PostgreSQL
sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix
# 导入库表
shell> cd database/postgresql
shell> cat schema.sql | sudo -u zabbix psql zabbix
# stop here if you are creating database for Zabbix proxy
shell> cat images.sql | sudo -u zabbix psql zabbix
shell> cat data.sql | sudo -u zabbix psql zabbix
# 在MySQL:
# mysql -uroot -pPassword
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to ‘zabbix’@’%’ identified by 'zabbix';
mysql> flush privileges;
mysql> quit;
# 导入库表
shell> cd database/mysql
shell> mysql -uzabbix -p<password> zabbix < schema.sql
# stop here if you are creating database for Zabbix proxy
shell> mysql -uzabbix -p<password> zabbix < images.sql
shell> mysql -uzabbix -p<password> zabbix < data.sql

5.5 创建zabbix用户和用户组:

groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitor" zabbix
# 进入安装包解压后的目录:
cd /opt/zabbix-5.0.2
./configure --prefix=/data/app/zabbix/ --enable-server --enable-agent --with-postgresql --with-libcurl --with-libxml2 --with-net-snmp
make
make install

5.6 启动脚本:

# /opt/zabbix-5.0/misc/init.d   启动脚本可以在该目录下拷贝,有不同平台的启动脚本
cp /opt/zabbix-5.0.0/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
cp /opt/zabbix-5.0.0/misc/init.d/fedora/core/zabbix_server /etc/init.d/

修改脚本的 BASEDIR 即可

BASEDIR=/data/app/zabbix

5.7 修改服务端配置文件:

LogFile=/tmp/zabbix_server.log
LogFileSize=1024     # M,
DBHost=zabbix-db     # 数据库主机名
DBName=zabbix     # 数据库中库名
DBUser=zabbix_user    # 数据库用户名
DBPassword=123456    # 用户密码Timeout=10Log
SlowQueries=3000
CacheSize=256M     # 根据内存情况尽量调大
HistoryCacheSize=2    # 根据内存情况尽量调大
TrendCacheSize=256M
ValueCacheSize=256M
StartTrappers=30
StartPollers=10      # agent端的数量

优化:

# 修改zabbix_server配置文件
CacheSize:10G
# CacheSize不够用的时候,增加VMwareCacheSize 8->1024
historyindexcache:2G

在PgSQL服务器上导入数据库的表结构:

shell> cd database/postgresql
shell> cat schema.sql | sudo -u zabbix psql zabbix
# stop here if you are creating database for Zabbix proxy
shell> cat images.sql | sudo -u zabbix psql zabbix
shell> cat data.sql | sudo -u zabbix psql zabbix

5.8 服务端管理界面安装 :

cd /opt/zabbix-5.0.0cp -rp ui/*  /data/app/nginx/html
# 放到lnmp环境的网站根目录下,5.0的前端文件改名成ui了,4.x是front文件夹


通过浏览器访问下一步即可,过程中需要调整/etc/php.ini参数,根据提示调整参数即可

安装完成之后默认的账号密码为 Admin/zabbix

php.ini的参数修改如下:

post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai
http://IP        # zabbix server端IP

在这里插入图片描述

有检查不通过的项,如果是php参数,请修改php的配置文件;有不支持的php组件可在php源码安装包目录下编译安装相关组件,然后重启php-fpm服务。

在这里插入图片描述

此处选择PostgreSQL数据库,数据库IP、数据库监听端口、数据库库名、数据库用户及密码。
在这里插入图片描述

zabbix服务端IP或主机名、zabbix服务监听端口(默认10051),Name可不写。

在这里插入图片描述

Name:

在这里插入图片描述

检查配置:

在这里插入图片描述

点击下载配置文件,上传到zabbix服务器制定位置(图中有提示),此处是/data/app/nginx/conf/zabbix.conf.php

在这里插入图片描述

注意文件的权限。

Web页面安装完成。

在这里插入图片描述

登录Web页面,默认账号密码:Admin/zabbix

在这里插入图片描述

5.9 中文乱码处理:

从网上下载或windows系统上复制simhei.ttf字体,上传到zabbix前端页面./assets/fonts/下,如:/data/app/nginx/html/assets/fonts/

cd /data/app/nginx/html/assets/fonts/
# 备份原来的字体
mv DejaVuSans.ttf DejaVuSans.ttf.bak
ln -s simhei.ttf DejaVuSans.ttf     
# 注意新上传的字体文件simhei.ttf与原来的字体文件DejaVuSans.ttf权限一致
chmod 644 simhei.ttf

在这里插入图片描述

刷新zabbix的WEB页面,中文显示正常。

5.10 部署zabbix agent端:

修改主机名:

hostnamectl set-hostname [agent主机名]

安装依赖:

yum install -y postgresql-devel mysql-devel libcurl libevent libevent-devel fping curl-devel libxml2  libxml2-devel snmpd net-snmp-devel net-snmp

下载zabbix源码包:

cd /opt/
wget http://zabbix.com/。。。(待补充)
# 或者其他方式下载后上传到服务器
# 解压
tar -xvf zabbix-5.0.2.tar.gz

创建agent端zabbix用户和用户组:

groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitor" zabbix

编译安装:

cd zabbix-5.0.2/
./configure --prefix=/usr/local/zabbix/ --enable-agent --with-mysql --with-postgresql --with-libcurl --with-libxml2
make
make install
cp /opt/zabbix-5.0.0/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

/etc/init.d/zabbix_agent start

客户端的配置文件如下:

vim /data/app/zabbix/etc/zabbix_agentd.conf
PidFile=/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
LogFileSize=1
# 注意替换IP和主机名
Server=10.0.10.226
ServerActive=10.0.10.226
Hostname=[agent主机名]
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

启动zabbix_agentd:

/data/app/zabbix/sbin/zabbix_agentd
# 或
/etc/init.d/zabbix_agent start

5.11 监控远程PgSQL

需要安装组件并在agent配置文件中加载组件模块并重启

?待测试后补充

安装依赖:

yum -y install postgresql-libs
yum -y install libconfig

版权声明:本文为NIEEPN原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。