
目录一.可视化监控——Grafana1.1简单介绍1.2Grafana与Zabbix集成1.2.1下载grafana软件包解压并启动服务1.2.2登录grafana网站1.2.3更改网站语言为中文1.2.4添加新连接1.2.5进入新面板完成相关的信息配置1.2.6保存面板1.2.7选择现成的仪表板二.日志监控——Elasticsearch2.1简单介绍2.2部署Elasticsearch集群2.2.1准备工作2.2.2下载并安装Elasticsearch软件解压并安装2.2.3修改elasticsearch.yml文件2.2.4修改limits.conf文件2.2.5修改 elasticsearch.service 文件2.2.6关闭交换分区2.2.7启动Elasticsearch服务2.2.8完成三台主机的免密配对2.2.9将相关配置文件远程传输给server2和server32.2.10关闭两台主机的交换分区并开启服务2.2.11完成测试2.3ES管理工具——Cerebro2.3.1简单介绍2.3.2准备工作2.3.3下载容器的软件仓库2.3.4安装并启动容器服务2.3.5加载Cerebro Docker镜像2.3.6启动容器2.3.7进入Cerebro管理工具编辑2.4ES集群角色分类2.4.1简单介绍2.4.2修改三台ES主机的elasticsearch.yml配置文件2.4.3登录Cerebro查看集群的节点角色情况2.4.4进入节点界面查看各个角色的节点一.可视化监控——Grafana1.1简单介绍1.说明Grafana 是一个开源的数据可视化与监控分析平台核心定位是将海量的监控数据转化为直观、美观、可交互的图表和仪表盘Dashboard。它本身不存储数据而是对接多种数据源如Zabbix等将数据以可视化的形式展现出来。2.默认端口port30001.2Grafana与Zabbix集成1.2.1下载grafana软件包解压并启动服务rpm -ivh grafana-enterprise_12.4.8_31135008312_linux_amd64.rpm systemctl enable --now grafana-server.service netstat -antlp |grep :3000 #查看服务是否启动1.2.2登录grafana网站说明浏览器输入本机IP端口号:3000用admin登录网站1.2.3更改网站语言为中文1.2.4添加新连接1.2.5进入新面板完成相关的信息配置说明在新的面板中选择你想要的监控内容和监控版式说明选择主机群组说明选择主机说明选择项目包说明选择具体的监控项说明选择可视化的类型直方图折线图等说明简单的配置结果说明添加新的查询项1.2.6保存面板说明点击右上角的保存仪表板完成相关配置1.2.7选择现成的仪表板说明前往Grafana官网下载现有的仪表板说明完成添加二.日志监控——Elasticsearch官网文档Elasticsearch Guide [7.6] | Elastichttps://www.elastic.co/guide/en/elasticsearch/reference/7.6/index.html下载链接Download and provision Elastic Products | Elastichttps://www.elastic.co/downloads/2.1简单介绍1.说明Elasticsearch是一个基于Apache Lucene构建的分布式、RESTful 风格的搜索和分析引擎是 Elastic StackELK Stack即 Elasticsearch、Logstash、Kibana的核心组件。2.实现功能1.海量日志的存储以分布式索引方式承载 TB/PB 级日志数据2.快速检索支持全文搜索、模糊匹配、聚合统计能在秒级返回查询结果3.实时分析结合时间序列数据实现日志趋势分析、异常检测等。3.核心特点1.分布式架构支持分布扩展通过分片和副本保证高可用2.Schema Free采用 JSON 文档存储3.实时性写入后约1秒左右存储4.聚合能力支持指标、桶、管道等多种聚合便于构建监控看板。4.常见概念索引类似关系型数据库中的表文档索引里的一条条数据分片一个大索引会被切成很多分片分散到不同机器上这样单台机器的磁盘/压力就不成为瓶颈。这是 ES 能横向扩展的根本原因。副本每个节点的备份放在其他节点上。一是防止节点挂掉数据丢失二是分摊查询压力。节点角色master负责集群的管理分片的分配存活情况data负责搜索和存储数据ingest负责数据的预处理。集群多个节点放在一起工作需要设置一个集群名2.2部署Elasticsearch集群2.2.1准备工作1.准备三台Cent OS 7版本的虚拟机2.完成三台虚拟机的初始化配置设置静态IP和域名解析以下是我集群的主机IP主机名IP地址角色server1192.168.7.171elasticsearchserver2192.168.7.172elasticsearchserver3192.168.7.173elasticsearch2.2.2下载并安装Elasticsearch软件解压并安装说明三台主机完成软件安装rpm -ivh elasticsearch-7.6.1-x86_64.rpm #解压软件包自动安装2.2.3修改elasticsearch.yml文件cd /etc/elasticsearch vim elasticsearch.yml2.2.4修改limits.conf文件说明设置系统资源限制防止内存移除vim /etc/security/limits.conf2.2.5修改 elasticsearch.service 文件说明解除进程锁定内存的大小限制,Elasticsearch 进程可以调用mlockall()将全部内存锁定在物理 RAM 中防止被 swap 出去vim /usr/lib/systemd/system/elasticsearch.service systemctl daemon-reload2.2.6关闭交换分区说明系统不再提高交换分区防止系统因内存耗尽而崩溃swapoff -a #临时关闭交换空间 vim /etc/fstab #开机自动关闭交换空间 systemctl daemon-reload2.2.7启动Elasticsearch服务systemctl enable --now elasticsearch2.2.8完成三台主机的免密配对说明完成三台主机的免密配对方便后续的文件的传输ssh-keygen ssh-copy-id server2 ssh-copy-id server32.2.9将相关配置文件远程传输给server2和server3说明使用scp将elasticsearch.ymllimits.conf和elasticsearch.service文件远程传输过去scp /etc/elasticsearch.yml server2:/etc/elasticsearch/ scp /etc/elasticsearch.yml server3:/etc/elasticsearch/ scp /etc/security/limits.conf server2:/etc/security/ scp /etc/security/limits.conf server3:/etc/security/ scp /usr/lib/systemd/system/elasticsearch.service server2:/usr/lib/systemd/system/ scp /usr/lib/systemd/system/elasticsearch.service server3:/usr/lib/systemd/system/2.2.10关闭两台主机的交换分区并开启服务swapoff -a #临时关闭交换空间 vim /etc/fstab #开机自动关闭交换空间 systemctl daemon-reload systemctl enable --now elasticsearch.service2.2.11完成测试说明使用curl命令访问这三台主机的9200端口查看是否启动成功curl server1:9200 curl server2:9200 curl server3:92002.3ES管理工具——Cerebro2.3.1简单介绍1.说明Cerebro是一款开源的 Elasticsearch ES集群 Web 管理工具以轻量、易用著称可以替代已停止维护的 Kopf 插件。在日志监控体系中它提供了直观的图形界面实时查看集群健康状况、节点资源、索引分布等关键信息2.Github链接GitHub - lmenezes/cerebro · GitHub下面为具体的部署过程2.3.2准备工作1.新开一台新的虚拟机用以安装docker我们用容器的方式部署Cerebro主机名IP地址角色server1192.168.7.171elasticsearchserver2192.168.7.172elasticsearchserver3192.168.7.173elasticsearchserver4192.168.7.174cerebro2.3.3下载容器的软件仓库cd /etc/yum.repos.d wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo2.3.4安装并启动容器服务yum install -y docker-ce systemctl enable --now docker2.3.5加载Cerebro Docker镜像说明从本地 tar 归档文件加载 Docker 镜像并查看Docker 服务的系统级详细信息docker load -i cerebro.tar docker info #查看docker服务的详细信息2.3.6启动容器说明这里我们使用官方镜像lmenezes/cerebro直接运行 Cerebro 容器在国内直接从 Docker Hub 拉取lmenezes/cerebro镜像比较困难docker run -d --name cerebro -p 9000:9000 lmenezes/cerebro #使用官方镜像 lmenezes/cerebro 直接运行 Cerebro 容器2.3.7进入Cerebro管理工具2.4ES集群角色分类2.4.1简单介绍1.说明在ES集群中每个节点的角色直接说明该节点在集群中负责的工作。一个节点可以只为一个角色也可同时作为多个角色存在。2.节点角色分类主节点、投票节点、数据节点、预处理节点、机器学习节点等角色名称角色分类核心职责主节点角色master负责集群的管理工作如创建/删除索引分片的分配工作等投票节点角色voting_only仅参与选举主节点投票不能被选举成主节点数据节点角色data负责存储和查询数据存储索引分片预处理节点角色ingest在索引文档前执行预处理管道进行数据转换和丰富机器学习节点角色ml运行机器学习任务进行异常检测和数据分析下面为具体的部署过程2.4.2修改三台ES主机的elasticsearch.yml配置文件说明修改配置文件添加节点的集群角色设置vim /etc/elasticsearch/elasticsearch.yml systemctl restart elasticsearch.service2.4.3登录Cerebro查看集群的节点角色情况2.4.4进入节点界面查看各个角色的节点1.集群中存在三个master 角色2.集群中存在一个ingest角色3.集群中存在一个data角色