Zabbix学习(1)安装和web管理界面配置以及主机管理
文章目录
- 概述
- 安装
- 配置阿里yum源
- 配置zabbix web管理界面
- 初始化 zabbix管理界面
- 管理主机
- 解决中文乱码
- zabbix自动发现与自动注册
- 自动发现
- 自动注册
- 使用zabbix API添加删除主机
概述
Zabbix 由 Alexei Vladishev 创建,目前由其成立的公司—— Zabbix SIA 积极的持续开发更新维护, 并为用户提供技术支持服务。
Zabbix 是一个企业级分布式开源监控解决方案。
Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。这些功能使得 Zabbix 成为容量规划的理想选择。
Zabbix 支持主动轮询(polling)和被动捕获(trapping)。Zabbix所有的报表、统计数据和配置参数都可以通过基于 Web 的前端页面进行访问。基于 Web 的前端页面确保您可以在任何地方访问您监控的网络状态和服务器健康状况。适当的配置后,Zabbix 可以在监控 IT 基础设施方面发挥重要作用。无论是对于有少量服务器的小型组织,还是拥有大量服务器的大企业而言,同样适用。
Zabbix 是免费的。Zabbix 是根据 GPL 通用公共许可证的第二版编写和发布的。这意味着产品源代码是免费发布的,可供公共使用
安装
因为环境是rhel7 所以使用的是zabbix4.0
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
配置阿里yum源
更改官方源
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=http://repo.zabbix.com/zabbix/4.0/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=0
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=0
执行
[root@server1 yum.repos.d]# yum install -y zabbix-agent.x86_64 zabbix-server-mysql.x86_64 zabbix-web zabbix-web-mysql
配置zabbix web管理界面
1 创建数据库
因为是单机 所以使用mariadbmysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by ‘password’;
mysql> grant all privileges on zabbix.* to zabbix@localhost;2 导入数据
[root@server1 ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.23/create.sql.gz | mysql -uzabbix -pwestos zabbix
- 3 配置数据库
编辑配置文件 /etc/zabbix/zabbix_server.conf - 4 配置php
vim /etc/php.ini - 5 启动Zabbix server和agent进程 以及httpd
如果没有报错 就会在浏览器看到
初始化 zabbix管理界面
管理主机
在server2上安装zabbix-agent
修改配置文件/etc/zabbix/zabbix_agentd.conf
在web管理界面添加主机
点击主机-> 创建主机
选择模板
要点击添加
出现绿色ZBX说明可用
解决中文乱码
在windows里找一个中文字体 拷贝到/usr/share/zabbix/assets/fonts/
[root@server1 ~]# cp NotoSans-Regular.ttf /usr/share/zabbix/assets/fonts/
修改网页字体配置
[root@server1 ~]# vim /usr/share/zabbix/include/defines.inc.php
zabbix自动发现与自动注册
自动发现
自动发现适用于局域网中大批量添加主机
注册动作
开启一个新的server
自动注册
可以看到自动注册到server3 并添加为Mysql模板
使用zabbix API添加删除主机
Zabbix API是基于Web的API,作为Web前端的一部分提供。它使用JSON-RPC 2.0协议,这意味着两件事:
- 该API包含一组独立的方法;
- 客户端和API之间的请求和响应使用JSON格式进行编码。
验证
在访问Zabbix中的任何数据之前,你需要登录并获取身份验证令牌。这可以使用该 user.login 方法完成curl -s -X POST -H “Content-Type: application/json-rpc” -d ‘
{"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "Admin",
"password": "zabbix"
},
"id": 1,
"auth": null
}’ http://172.25.254.101/zabbix/api_jsonrpc.php | python -m json.tool
输出:
{
"id": 1,
"jsonrpc": "2.0",
"result": "38c6f697940273e519fe33cd9e839e9e"
}
检索主机
curl -s -X POST -H “Content-Type: application/json-rpc” -d ‘
{"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": [
"hostid",
"host"
],
"selectInterfaces": [
"interfaceid",
"ip"
]
},
"id": 2,
"auth": "de75f01018bad3ae0339e247b53c74e8"
}’ http://172.25.254.101/zabbix/api_jsonrpc.php | python -m json.tool
输出
{
"id": 2,
"jsonrpc": "2.0",
"result": [
{
"host": "Zabbix server",
"hostid": "10084",
"interfaces": [
{
"interfaceid": "1",
"ip": "127.0.0.1"
}
]
},
{
"host": "server2",
"hostid": "10270",
"interfaces": [
{
"interfaceid": "2",
"ip": "172.25.254.102"
}
]
},
{
"host": "server3",
"hostid": "10272",
"interfaces": [
{
"interfaceid": "4",
"ip": "172.25.254.103"
}
]
}
]
}
删除主机
curl -s -X POST -H “Content-Type: application/json-rpc” -d ‘
{"jsonrpc": "2.0",
"method": "host.delete",
"params": [
"10270",
"10272"
],
"auth": "de75f01018bad3ae0339e247b53c74e8",
"id": 1
}’ http://172.25.254.101/zabbix/api_jsonrpc.php | python -m json.tool
输出
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"hostids": [
"10270",
"10272"
]
}
}
添加主机
curl -s -X POST -H “Content-Type: application/json-rpc” -d ‘
{"jsonrpc": "2.0",
"method": "host.create",
"params": {
"host": "server4",
"interfaces": [
{
"type": 1,
"main": 1,
"useip": 1,
"ip": "172.25.254.104",
"dns": "",
"port": "10050"
}
],
"groups": [
{
"groupid": "2"
}
],
"templates": [
{
"templateid": "10001"
}
]
},
"auth": "de75f01018bad3ae0339e247b53c74e8",
"id": 1
}’ http://172.25.254.101/zabbix/api_jsonrpc.php | python -m json.tool
输出
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"hostids": [
"10274"
]
}
}
还没有评论,来说两句吧...