【Linux系统基础】(3)在Linux上部署运维监控Zabbix和Grafana

目录

运维监控Zabbix部署

简介

Zabbix 由 Alexei Vladishev 创建,目前由其成立的公司------ Zabbix SIA 积极的持续开发更新维护, 并为用户提供技术支持服务。

Zabbix 是一个企业级分布式开源监控解决方案。

Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。这些功能使得 Zabbix 成为容量规划的理想选择。

安装

安装整体步骤:

  1. 准备Linux 服务器(虚拟机)
  2. 安装Mysql
  3. 安装zabbix( 包含 server agent web)
  4. 配置 mysql, 为zabbix创建表结构
  5. 配置zabbix server
  6. 启动并开启开机自启动

安装前准备 - 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

选择对应的版本,然后再下面官网给出了具体的安装命令,使用rpmyum来进行安装。

需要有网络。

以下内容来自官方页面

a. 安装Zabbix yum库

documentation

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数据库

documentation

在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支持两种部署形式

  1. 自行部署, 可以部署在操作系统之上. 自行提供服务器, 域名等.
  2. 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

相关推荐
我言秋日胜春朝★27 分钟前
【Linux】进程地址空间
linux·运维·服务器
C-cat.1 小时前
Linux|环境变量
linux·运维·服务器
yunfanleo1 小时前
docker run m3e 配置网络,自动重启,GPU等 配置渠道要点
linux·运维·docker
糖豆豆今天也要努力鸭2 小时前
torch.__version__的torch版本和conda list的torch版本不一致
linux·pytorch·python·深度学习·conda·torch
烦躁的大鼻嘎2 小时前
【Linux】深入理解GCC/G++编译流程及库文件管理
linux·运维·服务器
ac.char2 小时前
在 Ubuntu 上安装 Yarn 环境
linux·运维·服务器·ubuntu
敲上瘾2 小时前
操作系统的理解
linux·运维·服务器·c++·大模型·操作系统·aigc
长弓聊编程2 小时前
Linux系统使用valgrind分析C++程序内存资源使用情况
linux·c++
cherub.2 小时前
深入解析信号量:定义与环形队列生产消费模型剖析
linux·c++
梅见十柒3 小时前
wsl2中kali linux下的docker使用教程(教程总结)
linux·经验分享·docker·云原生