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