目录
- 运维监控Zabbix部署
-
- 简介
- 安装
-
- [安装前准备 - Mysql](#安装前准备 - Mysql)
- [安装Zabbix Server 和 Zabbix Agent](#安装Zabbix Server 和 Zabbix Agent)
-
- [a. 安装Zabbix yum库](#a. 安装Zabbix yum库)
- [b. 安装Zabbix Server、前端、Agent](#b. 安装Zabbix Server、前端、Agent)
- [c. 初始化Mysql数据库](#c. 初始化Mysql数据库)
- [d. 为Zabbix Server配置数据库](#d. 为Zabbix Server配置数据库)
- [e. 配置Zabbix的PHP前端](#e. 配置Zabbix的PHP前端)
- [配置zabbix 前端(WEB UI)](#配置zabbix 前端(WEB UI))
- 运维监控Grafana部署
运维监控Zabbix部署
简介
Zabbix 由 Alexei Vladishev 创建,目前由其成立的公司------ Zabbix SIA 积极的持续开发更新维护, 并为用户提供技术支持服务。
Zabbix 是一个企业级分布式开源监控解决方案。
Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。这些功能使得 Zabbix 成为容量规划的理想选择。
安装
安装整体步骤:
- 准备Linux 服务器(虚拟机)
- 安装Mysql
- 安装zabbix( 包含 server agent web)
- 配置 mysql, 为zabbix创建表结构
- 配置zabbix server
- 启动并开启开机自启动
安装前准备 - Mysql
安装ZabbixServer需要先安装好Mysql
数据库
课程使用Mysql 5.7
安装步骤:
shell
# 安装Mysql yum库
rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
# yum安装Mysql
yum -y install mysql-community-server
# 启动Mysql设置开机启动
systemctl start mysqld
systemctl enable mysqld
# 检查Mysql服务状态
systemctl status mysqld
# 第一次启动mysql,会在日志文件中生成root用户的一个随机密码,使用下面命令查看该密码
grep 'temporary password' /var/log/mysqld.log
# 修改root用户密码
mysql -u root -p -h localhost
Enter password:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root!@#$';
# 如果你想设置简单密码,需要降低Mysql的密码安全级别
set global validate_password_policy=LOW; # 密码安全级别低
set global validate_password_length=4; # 密码长度最低4位即可
# 然后就可以用简单密码了(课程中使用简单密码,为了方便,生产中不要这样)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
mysql> grant all privileges on *.* to root@'%' identified by 'root';
安装Zabbix Server 和 Zabbix Agent
初始安装,我们先安装ZabbixServer以及在Server本机安装Agent。
打开官网下载页面:https://www.zabbix.com/download?zabbix=4.0\&os_distribution=centos\&os_version=7\&db=mysql
选择对应的版本,然后再下面官网给出了具体的安装命令,使用rpm
和yum
来进行安装。
需要有网络。
以下内容来自官方页面
a. 安装Zabbix yum库
shell
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
yum clean all
b. 安装Zabbix Server、前端、Agent
shell
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
# 如果只需要安装Agent的话
yum -y install zabbix-agent
c. 初始化Mysql数据库
在Mysql中操作
shell
# 登录Mysql 数据库
mysql -uroot -pYourPassword
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
# 或者: grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';
mysql> quit;
测试在Zabbix Server服务器上能否远程登录Mysql,如果可以登录继续向下走。
Import initial schema and data. You will be prompted to enter your newly created password.
shell
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
d. 为Zabbix Server配置数据库
Edit file /etc/zabbix/zabbix_server.conf
shell
DBPassword=password
DBHost=mysql-host-ip-or-hostname
e. 配置Zabbix的PHP前端
Edit file /etc/httpd/conf.d/zabbix.conf
, uncomment and set the right timezone for you.# php_value date.timezone Asia/Shanghai
Start Zabbix server and agent processes and make it start at system boot:
shell
systemctl restart zabbix-server zabbix-agent httpd # 启动、重启
systemctl enable zabbix-server zabbix-agent httpd # 开机自启
Now your Zabbix server is up and running!
配置zabbix 前端(WEB UI)
打开:http://192.168.88.131/zabbix
即可进入Zabbix页面,在首次打开的时候,会进入设置页面,如图:
点击下一步,会检查相应的设置是否都正常
如果一切正常,点击下一步。
配置DB连接
按具体情况填写即可
配置Server细节
具体配置即可,Name表示这个Zabbix服务的名字,这里起名叫ITHEIMA-TEST
安装前总结预览
检查确认没有问题就下一步
配置完成
初始管理员账户Admin密码zabbix
输入账户密码后,就能进入zabbix页面了。
如下图:
现在是一个崭新的zabbix等待我们去探索。
运维监控Grafana部署
简介
安装
部署形式
Grafana
支持两种部署形式
- 自行部署, 可以部署在操作系统之上. 自行提供服务器, 域名等.
Grafana
官方托管. 无需安装, 在线注册即可得到一个专属于自己的Grafana
, 但是要花钱的. 是一种SaaS
服务
我们课程选择方式1
安装
Grafana
支持常见的绝大多数操作系统, 如windows
mac
linux
同时也支持部署在docker
中.
大多数情况下, Grafana
都是部署在linux
服务器之上. 所以本课程也是基于Linux
系统来讲解.
对windows
mac
系统 或 docker
部署有兴趣的同学, 请参考: https://grafana.com/grafana/download
我们部署Grafana
可以使用YUM
来进行部署.
shell
# 创建一个文件
vim /etc/yum.repos.d/grafana.repo
# 将下面的内容复制进去
[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
# 最后安装
yum install grafana
配置说明
grafana-server
具有许多配置选项,这些选项可以在.ini
配置文件中指定,也可以使用环境变量指定。
Note.
Grafana
needs to be restarted for any configuration changes to take effect.
配置文件注释
;
符号在.ini
文件中全局表示注释 ()
配置文件路径
如果是自己解压安装, 或者自行编译的方式安装, 配置文件在:
- 默认:
$WORKING_DIR/conf/defaults.ini
- 自定义:
$WORKING_DIR/conf/custom.ini
- 自定义配置文件路径可以被参数
--config
覆盖
对于
YUM
RPM
安装的方式, 配置文件在:/etc/grafana/grafana.ini
使用环境变量
可以使用以下语法使用环境变量来覆盖配置文件中的所有选项:
bash
GF_<SectionName>_<KeyName>
其中SectionName
是方括号内的文本。一切都应为大写,.
应替换为_
例如,给定以下配置设置:
bash
# default section
instance_name = ${HOSTNAME}
[security]
admin_user = admin
[auth.google]
client_secret = 0ldS3cretKey
Then you can override them using:
bash
export GF_DEFAULT_INSTANCE_NAME=my-instance
export GF_SECURITY_ADMIN_USER=true # GF_ 固定 SECURITY 是SectionName ADMIN_USER 是配置的key 转大写 . 转 _
export GF_AUTH_GOOGLE_CLIENT_SECRET=newS3cretKey
开始配置
Grafana
支持使用Sqlite3
Postgresql
Mysql
这三种数据库作为其元数据
的存储.
我们课程使用Mysql
. 和zabbix
的元数据mysql共用一个实例
只需要配置如下内容即可:
并登陆mysql, 执行:
create database grafana CHARACTER SET utf8 COLLATE utf8_general_ci;
创建Grafana
使用的数据库作为元数据存储.
启动
bash
systemctl daemon-reload
systemctl start grafana-server
systemctl enable grafana-server
浏览器打开:http://node1:3000
默认账户密码:admin/admin