zabbix5—agent2监控PostgreSQL

2023-12-30 21:32:07 浏览数 (2)

PostgreSQL 安装

PostgreSQL 特征

  • 函数:通过函数,可以在数据库服务器端执行指令程序。
  • 索引:用户可以自定义索引方法,或使用内置的 B 树,哈希表与 GiST 索引。
  • 触发器:触发器是由SQL语句查询所触发的事件。如:一个INSERT语句可能触发一个检查数据完整性的触发器。触发器通常由INSERT或UPDATE语句触发。 多版本并发控制:PostgreSQL使用多版本并发控制(MVCC,Multiversion concurrency control)系统进行并发控制,该系统向每个用户提供了一个数据库的"快照",用户在事务内所作的每个修改,对于其他的用户都不可见,直到该事务成功提交。
  • 规则:规则(RULE)允许一个查询能被重写,通常用来实现对视图(VIEW)的操作,如插入(INSERT)、更新(UPDATE)、删除(DELETE)。
  • 数据类型:包括文本、任意精度的数值数组、JSON 数据、枚举类型、XML 数据 等。
  • 全文检索:通过 Tsearch2 或 OpenFTS,8.3版本中内嵌 Tsearch2。
  • NoSQL:JSON,JSONB,XML,HStore 原生支持,至 NoSQL 数据库的外部数据包装器。
  • 数据仓库:能平滑迁移至同属 PostgreSQL 生态的 GreenPlum,DeepGreen,HAWK 等,使用 FDW 进行 ETL。

#关闭防火墙和 selinux 并重启

代码语言:javascript复制
#关闭防火墙和 selinux 并重启
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
systemctl disable --now firewalld

#或者防火墙“ firewalld”中开启公网访问5432端口(建议用此命令,较为安全)
systemctl restart firewalld
firewall-cmd --zone=public --add-port=5432/tcp --permanent
firewall-cmd --reload
代码语言:javascript复制
#wget下载postgresql-11.4.tar.gz
wget https://ftp.postgresql.org/pub/source/v11.4/postgresql-11.4.tar.gz
#解压postgresql-11.4.tar.gz
tar -zxf postgresql-11.4.tar.gz
#安装依赖包
yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c     openssl-devel cmake
代码语言:javascript复制
#编译安装 PostgreSQL
cd postgresql-11.4
./configure
make && sudo make install
代码语言:javascript复制
#创建postgres 用户
adduser postgres

#cd到/usr/local/pgsql目录下
cd /usr/local/pgsql
mkdir data

#给postgres用户赋予权限
chown postgres /usr/local/pgsql/data

#初始化数据库,切换的 postgres用户
su postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

#切换到root用户
su
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &

#切换到pgsql/bin目录下
su postgres
cd /usr/local/pgsql/bin
./pg_ctl start -D /usr/local/pgsql/data
代码语言:javascript复制
su
#给pg_ctl 创建软链接
ln -s /usr/local/pgsql/bin/pg_ctl /usr/bin/pg_ctl
代码语言:javascript复制
#访问数据库
su postgres
./psql
l
代码语言:javascript复制
#给postgres用户增加密码
代码语言:javascript复制
#修改配置使能远程访问
vi /usr/local/pgsql/data/pg_hba.conf

#添加如下内容  表示所有地址都可以访问
host    all             all             0.0.0.0/0          md5
代码语言:javascript复制
#修改配置使能远程访问
vi /usr/local/pgsql/data/postgresql.conf

#将注释去掉,修改如下图
代码语言:javascript复制
#重启数据库,得在postgres用户下,如 su postgres
pg_ctl restart -D /usr/local/pgsql/data

安装agent2

zabbix5.0—agent2监控PostgreSQL-11.4(linux)PostgreSQL版本需要10以上

关闭防火墙

代码语言:javascript复制
#关闭防火墙和 selinux 并重启
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
systemctl disable --now firewalld
​
#或者防火墙“ firewalld”中开启公网访问5432端口(建议用此命令,较为安全)
systemctl restart firewalld
firewall-cmd --zone=public --add-port=5432/tcp --permanent
firewall-cmd --reload

同步时间,和时区

代码语言:javascript复制
yum install ntpdate -y
ntpdate -u ntp.huaweicloud.com  
或(二选一,不要更改,更改可能会出现未知错误~)
ntpdate -u ntp.aliyun.com
查看时间
​
date
​
时区统一
​
mv /etc/localtime{,.bak}
​
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

部署zabbix-agent2(go语言)

代码语言:javascript复制
#用华为云zabbix源
rpm -Uvh https://mirrors.huaweicloud.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
sed -i 's#http://repo.zabbix.com#https://mirrors.huaweicloud.com/zabbix#' /etc/yum.repos.d/zabbix.repo
(源二选一,不要更改,更改可能会出现未知错误~)
或#是用阿里云zabbix 源 
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
安装zabbix-agent2
代码语言:javascript复制
yum -y install zabbix-agent2

提示后输入y回车即可

代码语言:javascript复制
ls -l /etc/zabbix/zabbix_agent2.conf

开机启动  zabbix-agent2

代码语言:javascript复制
systemctl enable --now zabbix-agent2
代码语言:javascript复制
yum -y install net-tools

查看端口

代码语言:javascript复制
netstat -tnlp|grep zabbix

查看验证zabbix-agent2.service文件

代码语言:javascript复制
ls /lib/systemd/system/zabbix-agent2.service

需要详细也可以cat查看

配置并修改文件

代码语言:javascript复制
grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf
代码语言:javascript复制
cat /var/run/zabbix/zabbix_agent2.pid  (源的不同,可能有些变化)
ps -ef|grep zabbix
代码语言:javascript复制
vi /etc/zabbix/zabbix_agent2.conf

:wq  退出保存

检查并查看修改了什么

代码语言:javascript复制
grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf

改完一定都要~重启zabbix_agent2

代码语言:javascript复制
systemctl restart zabbix-agent2
代码语言:javascript复制
#回到配置主机,并配置模板和宏
监控项监控项
效果效果

搭建一个Zabbix的工作环境,需要从服务器入手。与服务器通信,管理员需要使用一个Zabbix前端界面,与Zabbix服务器和数据库进行通信。三个关键(界面、服务器和数据库)可以安装在同一台服务器上,但是如果你拥有一个更大更复杂的环境,将它们安装在不同的主机上也是一个选项。

Zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows (2000/2003/XP/Vista)等系统之上。

Zabbix server可以单独监视远程服务器的服务状态;同时也可以与Zabbix agent配合,可以轮询Zabbix agent主动接收监视数据(agent方式),同时还可被动接收Zabbix agent发送的数据(trapping方式)。

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

0 人点赞