一、介绍
本文介绍使用源码编译安装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_connections | 100 | 允许客户端连接的最大数目 | 否 | 因为在测试的过程中,100个连接已经足够 |
fsync | on | 强制把数据同步更新到磁盘 | 是 | 因为系统的IO压力很大,为了更好的测试其他配置的影响,把改参数改为off |
shared_buffers | 24MB | 决定有多少内存可以被PostgreSQL用于缓存数据(推荐内存的1/4) | 是 | 在IO压力很大的情况下,提高该值可以减少IO |
work_mem | 1MB | 使内部排序和一些复杂的查询都在这个buffer中完成 | 是 | 有助提高排序等操作的速度,并且减低IO |
effective_cache_size | 128MB | 优化器假设一个查询可以用的最大内存,和shared_buffers无关(推荐内存的1/2) | 是 | 设置稍大,优化器更倾向使用索引扫描而不是顺序扫描 |
maintenance_work_mem | 16MB | 这里定义的内存只是被VACUUM等耗费资源较多的命令调用时使用 | 是 | 把该值调大,能加快命令的执行 |
wal_buffer | 768kB | 日志缓存区的大小 | 是 | 可以降低IO,如果遇上比较多的并发短事务,应该和commit_delay一起用 |
checkpoint_segments | 3 | 设置wal log的最大数量数(一个log的大小为16M) | 是 | 默认的48M的缓存是一个严重的瓶颈,基本上都要设置为10以上 |
checkpoint_completion_target | 0.5 | 表示checkpoint的完成时间要在两个checkpoint间隔时间的N%内完成 | 是 | 能降低平均写入的开销 |
commit_delay | 0 | 事务提交后,日志写到wal log上到wal_buffer写入到磁盘的时间间隔。需要配合commit_sibling | 是 | 能够一次写入多个事务,减少IO,提高性能 |
commit_siblings | 5 | 设置触发commit_delay的并发事务数,根据并发事务多少来配置 | 是 | 减少IO,提高性能 |
autovacuum_naptime | 1min | 下一次vacuum任务的时间 | 是 | 提高这个间隔时间,使他不是太频繁 |
autovacuum_analyze_threshold | 50 | 与autovacuum_analyze_scale_factor配合使用,来决定是否analyze | 是 | 使analyze的频率符合实际 |
autovacuum_analyze_scale_factor | 0.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