前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >zabbix5—agent2监控PostgreSQL

zabbix5—agent2监控PostgreSQL

原创
作者头像
QGS
修改2023-12-30 21:32:07
3630
修改2023-12-30 21:32:07
举报
文章被收录于专栏:QGS星球QGS星球

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腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PostgreSQL 安装
  • 安装agent2
    • 关闭防火墙
      • 同步时间,和时区
        • 部署zabbix-agent2(go语言)
          • 安装zabbix-agent2
      相关产品与服务
      数据库专家服务
      数据库专家服务(Database Expert Service,DBexpert)为您提供专业化的数据库服务。仅需提交您的具体问题和需求,即可获得腾讯云数据库专家的专业支持,助您解决各类专业化问题。腾讯云数据库专家服务团队均有10年以上的 DBA 经验,拥有亿级用户产品的数据库管理经验,以及丰富的服务经验。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
      http://www.vxiaotou.com