zabbix的安装与部署(proxy、睿象云)_zabbix安装部署(1)

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

yum install php -y   要看清版本,安装与zabbix匹配的版本,依赖性可以在阿里云里找,要与所安装的php版本相对应
yum install zabbix-web-mysql php-bcmath-5.4.16-46.el7.x86_64.rpm php-mbstring-5.4.16-46.el7.x86_64.rpm -y

对于 RHEL 7 和更高版本,Zabbix 前端的 Apache 配置文件位于 /etc/httpd/conf.d/zabbix.conf。
虽然已经配置了一些 PHP 参数。但是有必要取消 “date.timezone” 注释,并为其 设置正确的时区 。

[root@server1 ~]# vim /etc/httpd/conf.d/zabbix.conf
[root@server1 ~]# systemctl enable --now httpd

在这里插入图片描述

到这里我们后端前端就已经配置完成了,下面开始测试
在网页上访问http://172.25.1.1/zabbix
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里我们可以看到当转化为中文语言时,会出现中文乱码的问题,下面我们来解决这个问题
下载好的字体文件 simkai.ttf
链接:simkai字体包 提取码: a5dn

[root@server1 ~] # mv /root/simkai.ttf /usr/share/zabbix/assets/fonts
[root@server1 ~]# vim /usr/share/zabbix/include/defines.inc.php

在这里插入图片描述
这里将全文的原来的graphfont换成simkai字体
在这里插入图片描述在这里插入图片描述

三、新建主机

1.安装Agent

在server2上我们安装angent
我们直接将yum源传给server2

[root@server1 yum.repos.d]# scp zabbix.repo server2:/etc/yum.repos.d/
[root@server2 ~]# yum install zabbix-agent.x86_64 -y
[root@server2 ~]# systemctl enable --now zabbix-agent.service 

2.修改配置文件

[root@server2 ~]# vim /etc/zabbix/zabbix_agentd.conf 
[root@server2 ~]# systemctl restart zabbix-agent.service

共修改3个位置,如下图
在这里插入图片描述
在这里插入图片描述
查询以下端口

[root@server2 ~]# netstat -antlp

在这里插入图片描述

3.手动添加主机

当我们查看日志时显示not found,所以我们需要手动在zabbix web 页面添加
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
选择模板信息
在这里插入图片描述
当出现下图这种状态时,查看图形有数据信息说明添加成功,
在这里插入图片描述
在这里插入图片描述

4 自动添加主机

现在我们再配置一台Agent serve3 ,配置方法同server2相同
这里我们直接到添加环节
(一)自动发现
动作–>自动发现–>启动
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

然后我们去主机那查看,我们可以看到server3已经在主机群组中了
在这里插入图片描述
(二)自动注册
我们为了节省资源,就直接将刚才添加的server3删除掉,然后将自动发现的规则停用
现在测试自动注册
动作–>自动注册–>动作主机名–>操作–>与添加到主机群组添加与模块关联
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们去主机那查看是否添加成功,如果没有出现,重启以下服务即可
在这里插入图片描述

四、使用API

1.API介绍

Zabbix API允许你以编程方式检索和修改Zabbix的配置,并提供对历史数据的访问。它广泛用于:
创建新的应用程序以使用Zabbix;
将Zabbix与第三方软件集成;
自动执行常规任务。
Zabbix API是基于Web的API,作为Web前端的一部分提供。它使用JSON-RPC 2.0协议,这意味着两件事:
该API包含一组独立的方法;
客户端和API之间的请求和响应使用JSON格式进行编码。

2.结构

Zabbix API由许多名义上分组的独立API方法组成。每个方法执行一个特定任务。例如,方法 host.create 隶属于 host 这个API分组 ,用于创建新主机。历史上,API分组有时被称为“类”。

大多数API至少包含四种方法: get, create, update 和 delete ,分别是检索,创建,更新和删除数据,但是某些API提供一套完全不同的一组方法。

3.执行请求

当完成了前端的安装配置后,你就可以使用远程HTTP请求来调用API。为此,需要向 api_jsonrpc.php 位于前端目录中的文件发送HTTP POST请求。例如,如果你的Zabbix前端安装在 http://company.com/zabbix, 那么用HTTP请求来调用 apiinfo.version 方法就如下面这样:

在访问Zabbix中的任何数据之前,你需要登录并获取身份验证令牌。这可以使用该 user.login 方法完成。让我们假设你想要以标准Zabbix Admin用户身份登录。然后,你的JSON请求将如下所示:

[root@server1 ~]# curl -XPOST http://172.25.1.1/zabbix/api_jsonrpc.php -H "Content-Type: application/json-rpc" -d '
{
    "jsonrpc": "2.0",
    "method": "user.login",
    "params": {
        "user": "Admin",
        "password": "zabbix"
    },
    "id": 1,
    "auth": null
}' | python -m json.tool

让我们仔细看看示例请求对象。它具有以下属性:
jsonrpc - API使用的JSON-RPC协议的版本; Zabbix API实现的JSON-RPC版本是2.0;
method - 被调用的API方法名;
params - 将被传递给API方法的参数;
id - 请求的任意标识符;
auth -用户认证令牌; 因为我们还没有一个,它的设置null。
如果你正确提供了凭据,API返回的响应将包含用户身份验证令牌:
在这里插入图片描述

4.检索主机

[root@server1 ~]# vim zabbix.api
curl -XPOST http://172.25.1.1/zabbix/api_jsonrpc.php -H "Content-Type: application/json-rpc" -d '
{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": [
            "hostid",
            "host"
        ],
        "selectInterfaces": [
            "interfaceid",
            "ip"
        ]
    },
    "id": 1,
    "auth":"09dc3830f5e6780328c9f4a6fc60c503"
}' | python -m json.tool

在这里插入图片描述在这里插入图片描述

5. 删除主机

object host.delete(array hosts)

该方法允许删除主机

参数
(array) 要删除的主机的ID.

curl -XPOST http://172.25.1.1/zabbix/api_jsonrpc.php -H "Content-Type: application/json-rpc" -d '
{
    "jsonrpc": "2.0",
    "method": "host.delete",
    "params": [
        "10275"
    ],
    "id": 1,
    "auth":"09dc3830f5e6780328c9f4a6fc60c503"
}' | python -m json.tool


快速查询hostid ,直接点开主机,在网址中就可以找到
在这里插入图片描述
返回值,响应值
在这里插入图片描述
在WEB页面我们可以看到server3已经成功删除

6.创建主机

描述
对象 host.create(对象/数组 hosts)

这个方法可以用来创建主机.

curl -s -XPOST http://172.25.3.1/zabbix/api_jsonrpc.php -H "Content-Type: application/json-rpc" -d '
{
    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
        "host": "server3",
        "interfaces": [
            {
                "type": 1,
                "main": 1,
                "useip": 1,
                "ip": "172.25.1.3",
                "dns": "",
                "port": "10050"
            }
        ],
        "groups": [
            {
                "groupid": "2"
            }
        ],
        "templates": [
            {
                "templateid": "10001"
            }
        ]
    },
    "auth": "09dc3830f5e6780328c9f4a6fc60c503",
    "id": 1
}' | python -m json.tool


groupid查询方法
在这里插入图片描述
templateid查询方法:
在这里插入图片描述
返回直
在这里插入图片描述
在web页面查看server3是否添加成功
在这里插入图片描述

五、zabbix server 的nginx监控

1.搭建nginx

链接: nginx包 提取码: vuck

[root@server3 ~]# tar nginx-1.18.0.tar.gz
[root@server3 ~]# tar zxf nginx-1.18.0.tar.gz
[root@server3 nginx-1.18.0]# yum install gcc pcre-devel opensll-devel -y
[root@server3 nginx-1.18.0]# vim auto/cc/gcc
将debug下面注释掉,最小安装,节省资源
[root@server3 nginx-1.18.0]# ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-file-aio
[root@server3 nginx-1.18.0]# make
[root@server3 nginx-1.18.0]# make install
[root@server3 sbin]# ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/
[root@server3 sbin]# vim /usr/local/nginx/conf/nginx.conf
        location /status {
                stub_status on;
                access_log off;
                allow 127.0.0.1;
                deny all;
}
为了测试,加这个模块
[root@server3 nginx]# nginx
[root@server3 nginx]# nginx -s reload
测试:
[root@server3 nginx]# curl http://127.0.0.1/status
Active connections: 1 
server accepts handled requests
 1 1 1 
Reading: 0 Writing: 1 Waiting: 0 
也可以在其他主机进行压测
[root@Sun_s ~]# ab -c10 -n 1000 http://172.25.1.3/index.html

2.添加nginx的监控配置文件

[root@server3 nginx]# cd /etc/zabbix/zabbix_agentd.d
[root@server3 zabbix_agentd.d]# vim userparameter_nginx.conf
UserParameter=nginx.active,curl -s  http://127.0.0.1/status | grep Active | awk '{print $3}'
UserParameter=nginx.accept,curl -s http://127.0.0.1/status | awk 'NR==3{print $1}'
UserParameter=nginx.handled,curl -s http://127.0.0.1/status | awk 'NR==3{print $2}'
UserParameter=nginx.request,curl -s http://127.0.0.1/status | awk 'NR==3{print $3}'
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent.service 

在server1里手动测试以下

[root@server1 ~]# yum install zabbix-get.x86_64 -y
[root@server1 ~]# zabbix_get -s 172.25.1.3 -p 10050 -k "nginx.active"
1
[root@server1 ~]# zabbix_get -s 172.25.1.3 -p 10050 -k "nginx.accept"
1008
[root@server1 ~]# zabbix_get -s 172.25.1.3 -p 10050 -k "nginx.handled"
1009
[root@server1 ~]# zabbix_get -s 172.25.1.3 -p 10050 -k "nginx.request"
1010

3.添加监控项

加入刚才监控配置文件中写入的几个键值:nginx.active nginx.accept nginx.handled nginx.request
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
把刚才添加好的监控项添加到图形里
创建图形
在这里插入图片描述
添加监控项
在这里插入图片描述
在这里插入图片描述
查看图形,当显示出来数据就说明已经配置成功了,刚添加上可能需要等一会数据才能出来
在这里插入图片描述

六、zabbix server的mysql监控

1.配置mysql监控文件

由于之前server1有仓库,为了节省资源,我们直接使用server1
只要让agent可以通过mysql的密码认证,在zabbix下建立隐藏文件,说明具体命令执行的用户、密码、socket:

[root@server1 ~]# mkdir  /var/lib/zabbix
[root@server1 ~]# cd /var/lib/zabbix/
注意这里是隐藏文件
[root@server1 zabbix]# vim .my.cnf
[mysql]
user=root
password=westos
socket=/var/lib/mysql/mysql.sock

[mysqladmin]
user=root
password=westos
socket=/var/lib/mysql/mysql.sock

[root@server1 zabbix]# mysqladmin password westos
[root@server1 zabbix]# systemctl restart zabbix-agent.service 

2.添加模板

在这里插入图片描述
在这里插入图片描述
手动测试
只有有返回值说明就OK了

[root@server1 zabbix]# zabbix_get -s 127.0.01 -p 10050 -k "mysql.ping" 
1

查看图形
在这里插入图片描述在这里插入图片描述
由于自带的mysq模板监控项太少了,所以我们需要手动添加模板

3.从外部导入模板

  • 下载需要的导入工具
  • 链接:percona 提取码: bru2
[root@server1 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
[root@server1 ~]# cd /var/lib/zabbix/percona/templates/
[root@server1 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
[root@server1 templates]# systemctl restart zabbix-agent.service
[root@server1 templates]# cd ..
[root@server1 percona]# cd scripts/
[root@server1 scripts]# vim ss_get_mysql_stats.php 

在这里插入图片描述
手动测试

[root@server1 scripts]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
1
[root@server1 scripts]# zabbix_get -s 127.0.01 -p 10050 -k "MySQL.Key-read-requests"
1

此处可以取到值就说明配置成功,导入模板即可
注意
此处,如果进行过手动测试,会生成一个txt文件,这个文件生成的默认权限是root,因为访问的时候是用zabbix用户访问的
所以要么把文件删除掉,要么修改其权限。操作如下:

[root@server1 scripts]# cd /tmp/
[root@server1 tmp]# ls
localhost-mysql_cacti_stats.txt
systemd-private-4e1607fdb08c4946b000e3456cedfd42-httpd.service-VKKp6Z
systemd-private-4e1607fdb08c4946b000e3456cedfd42-mariadb.service-dSsMvQ
[root@server1 tmp]# chown zabbix.zabbix localhost-mysql_cacti_stats.txt
localhost-mysql_cacti_stats.txt
将权限改为zabbix,不然数据不会变

在这里插入图片描述

  • 现在在web页面导入模板
  • 这个模板是我在网上下载好的,所以直接导入
  • 链接: 模板提取码: wysw
  • 如有需要自行提取
    在这里我们把之前的模板取消链接并清理掉
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    我们可以看到添加新模板之后,监控项增加至279个
    在这里插入图片描述
    如果没有看到数据,清等待一会数据就会显示出来。
    在这里插入图片描述

七、zabbix server 的tomcat+jave 监控

1.在server2上搭建tomcat java 服务

链接:tomcat包 提取码: jqj6

[root@server2 ~]# tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local/
[root@server2 ~]# cd /usr/local/
[root@server2 local]# ln -s apache-tomcat-7.0.37/ tomcat
[root@server2 local]# ls
[root@server2 local]# cd tomcat
[root@server2 tomcat]# cd bin/
[root@server2 bin]# vim catalina.sh     ##创建8888端口
CATALINA_OPTS='-Dcom.sun.management.jmxremote.port=8888
  -Dcom.sun.management.jmxremote.ssl=false
  -Dcom.sun.management.jmxremote.authenticate=false'
[root@server2 bin]# yum install java-1.8.0-openjdk.x86_64 -y  
[root@server2 bin]# ./startup.sh
[root@server2 bin]# netstat -antlp|grep 8888
tcp6       0      0 :::8888                 :::*                    LISTEN      5607/java           

在这里插入图片描述

2.server1安装JAVA网关

仅当您要监视JMX应用程序时才需要安装Java网关。Java网关是轻量级的,不需要数据库。

yum install -y zabbix-java-gateway.x86_64 -y
 cd /etc/zabbix/
 [root@server1 zabbix]# vim /etc/zabbix/zabbix_java_gateway.conf
 [root@server1 zabbix]# systemctl enable --now zabbix-java-gateway.service 
 [root@server1 zabbix]# netstat -antlp| grep :10052
tcp6       0      0 :::10052                :::*                    LISTEN      1913/java           

端口ip
在这里插入图片描述
开启10个监控项
在这里插入图片描述
在server端开启java 网关相关的配置

[root@server1 zabbix]# vim zabbix_server.conf 
[root@server1 zabbix]# systemctl restart zabbix-server.service

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
等待一会,看是否出现,如果没出现,请仔细核对配置文件信息
在这里插入图片描述
查看是否有数据,出现数据配置完成
在这里插入图片描述

八、Zabbix-agent主动模式 (全克隆)

在server3上操作这个全克隆

[root@server3 zabbix]# vim zabbix_agentd.conf
[root@server3 zabbix]# systemctl restart zabbix-agent.service
[root@server3 zabbix]# netstat -antlp | grep :10050

这个选项打开之后,是保留了原来被动复制的三个监控项,使得原来的监控项变少
在这里插入图片描述
全克隆
在这里插入图片描述
在这里插入图片描述
点击批量更新
在这里插入图片描述
把server3原来的模板删除,添加新克隆的模板
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

九、proxy安装配置

为了节省资源,我们将刚才的server3删掉,将server3作为proxy

1.proxy 安装

在server3上操作
先将主机名改成proxy,这样方便做实验,注意给其他主机的解析也要加上proxy
在这里插入图片描述

2.创建数据库

编辑zabbix_proxy.conf 文件以使用已创建的数据库。例如

[root@proxy ~]# systemctl disable --now  zabbix-agent.service 
[root@proxy ~]# yum install -y zabbix-proxy-mysql.x86_64
[root@proxy ~]# yum install mariadb-server.x86_64 -y
[root@proxy ~]# vim /etc/zabbix/zabbix_proxy.conf 
[root@proxy ~]# systemctl enable --now mariadb.service
[root@proxy ~]# mysql
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
MariaDB [(none)]> create user 'zabbix'@'localhost' identified by 'westos';
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to 'zabbix'@'localhost';
[root@proxy ~]# vim zabbix_proxy.conf
[root@proxy ~]# systemctl restart zabbix-proxy.service

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.导入数据

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

l9fcw==,size_16,color_FFFFFF,t_70)

在这里插入图片描述

3.导入数据

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

[外链图片转存中…(img-tZSOjj5O-1715901036074)]

给大家整理的电子书资料:

[外链图片转存中…(img-G9IawXvl-1715901036074)]

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 28
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值