监控系统技术框架
探索监控系统技术的世界 - 学习和实践笔记。一起学习如何设计、部署并优化监控环境。

总字符数: 5.33K

代码: 4.72K, 文本: 0.18K

预计阅读时间: 21 分钟

准备工作

工作目录/opt

1
cd /opt

关闭防火墙

1
2
3
4
# 关闭防火墙
systemctl stop firewalld.service
# 禁止开机自启
systemctl disable firewalld.service

关闭selinux

1
2
3
4
# 打开selinux的配置文件
vim /etc/selinux/config
# 将第7行的enforcing改为disabled
SELINUX=disabled

Yum清华源

1
2
3
4
5
6
sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos|g' \
-i.bak \
/etc/yum.repos.d/CentOS-*.repo
# 生成缓存
sudo yum makecache

下载依赖环境

1
yum install -y deltarpm gcc gcc-c++ unixODBC-devel httpd mysql-devel libcurl libcurl-devel libevent libevent-devel curl-devel libxml2  libxml2-devel  net-snmp-devel pcre-devel  java-devel openssl-devel perl-ExtUtils-Embed at python subversion gperf make rpm-build git bzip2-devel gd gd-devel t1lib t1lib-devel GeoIP-devel libatomic_ops-devel zlib-devel unzip libstdc++* net-snmp net-snmp* gmp gmp-devel openldap openldap-devel libpcap-devel glib2-devel GeoIP-devel vim wget git libtool make automake mlocate pam-devel unzip screen openssl iptables-services bash-completion*  libxslt*  curl net-tools libssh2-devel

准备LNMP

本博客其他文章有讲到(那篇文章是很久以前写的,现在版本的zabbix对mysql有要求,这里补充以下mysql的安装方法)

安装Mariadb

添加阿里云源vim /etc/yum.repos.d/MariaDB.repo

1
2
3
4
5
6
7
8
#内容如下
# MariaDB 10.1 CentOS repository list - created 2017-02-23 08:53 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.8/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

下载mariadbyum install -y MariaDB-server MariaDB-client

1
2
3
4
5
6
7
8
9
10
11
12
13
#启动 Mariadb
systemctl start mariadb
#设为开机自启
systemctl enable mariadb
#Mariadb 初始化
mysql -uroot
use mysql
grant all privileges on *.* to 'root'@'%' identified by '123456qwer';
# mysql rootzabbix为:123456qwer
delete from mysql.user where User='';
FLUSH PRIVILEGES;
# 重启数据库
systemctl restart mariadb

安装Zabbix

下载zabbix-server

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 进入到opt目录
cd /opt
# 下载二进制包
wget https://cdn.zabbix.com/zabbix/sources/stable/6.4/zabbix-6.4.5.tar.gz
# 解压
tar -zxvf zabbix-6.4.5.tar.gz
# 进入到zabbix目录
cd zabbix-6.4.5/
# 编译安装
./configure --prefix=/usr/local/zabbix/zabbix-server --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-unixodbc --enable-java && make CFLAGS=-std=gnu99 && make install
# 参数说明
--prefix              #编译安装路径
--enable-server       #启动server端
--enable-agent        #启动agent端
--with-mysql          #编译连接mysql相关依赖包
--with-net-snmp       #启动snmp相关,用于snmp监控设备
--with-libcurl        #启动curl相关
--with-libxml2        #启动xml相关
--with-unixodbc       #启动odbc相关用于监控数据库
--enable-java         #启动java-agent 用于监控java类

# 设置环境变量
vim /etc/profile

export PATH=$PATH:/usr/local/zabbix/zabbix-server/sbin/:/usr/local/zabbix/zabbix-server/bin/

source /etc/profile

创建zabbix数据库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
-- mariadb
mysql -uroot -p

-- 创建用户
-- CREATE USER '用户名'@'localhost' IDENTIFIED BY '密码';
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';
-- 创建数据库zabbix
-- CREATE DATABASE `数据库名` CHARACTER SET utf8 COLLATE utf8_bin;
CREATE DATABASE `zabbix` CHARACTER SET utf8 COLLATE utf8_bin;
-- 赋予权限
-- grant all privileges on 数据库名.*to 用户名@'localhost' identified by '密码';
grant all privileges on zabbix.*to zabbix@'localhost' identified by 'zabbix';
-- 刷新权限
flush privileges;

-- 设置编码
set names utf8;
exit

-- 创建完导入zabbix 初始化数据
-- 如果databases下面的*.sql有缺失,可以重新解压
mysql -uzabbix -pzabbix zabbix < /opt/zabbix-6.4.5/database/mysql/schema.sql -- 表结构
mysql -uzabbix -pzabbix zabbix < /opt/zabbix-6.4.5/database/mysql/images.sql -- 图片相关数据
mysql -uzabbix -pzabbix zabbix < /opt/zabbix-6.4.5/database/mysql/data.sql   -- 模版相关数据

Centos准备

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 创建用户
useradd zabbix
passwd zabbix
# 赋予权限
chown -R zabbix:zabbix /usr/local/zabbix/zabbix-server/

# 修改zabbix-server的配置文件
vim /usr/local/zabbix/zabbix-server/etc/zabbix_server.conf

# 找到对应的属性修改
#数据库地址
DBHost=localhost
#数据库名
DBName=zabbix
#数据库用户名
DBUser=zabbix
#数据库密码
DBPassword=zabbix
#数据库端口
DBPort=3306
Timeout=30
AlertScriptsPath=/usr/local/zabbix/zabbix-server/share/zabbix/alertscripts
ExternalScripts=/usr/local/zabbix/zabbix-server/share/zabbix/externalscripts

zabbix_server
# 检查端口
ps auxf |grep zabbix_server
netstat -tulnp |grep zabbix

# 清空html下的文件并剪切
rm -rf /usr/local/nginx/nginx/html/*
cp -a /opt/zabbix-6.4.5/ui/* /usr/local/nginx/nginx/html/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# php.ini调整
vim /etc/opt/remi/php74/php.ini

post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai

#启动相关项目
systemctl restart php74-php-fpm.service

##Zabbix默认用户名密码
Admin
zabbix

zabbix客户端安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 创建用户
useradd zabbix
# 下载Zabbix_agent安装包
wget https://cdn.zabbix.com/zabbix/binaries/stable/6.0/6.0.3/zabbix_agent-6.0.3-linux-4.12-ppc64le-static.tar.gz
# 解压
tar -zxvf zabbix-3.4.15.tar.gz
# 进入目录
cd zabbix-3.4.15/
# 编译zabbix agent
./configure --prefix=/usr/local/zabbix_agent --enable-agent
# 安装
make && make install
# 修改配置文件
vim /usr/local/zabbix_agent/etc/zabbix_agentd.conf

Server=服务端ip地址或域名
ServerActive=服务端ip地址或域名
Hostname=客户端主机名
HostMetadata=自动注册的关键字

# 启动
/usr/local/zabbix_agent/sbin/zabbix_agentd