centos7 部署prometheus+grafana监控redis集群、mysql、elk、nacos及邮件报警

目录

参考

相关软件安装包 百度网盘

1.安装prometheus

2.启动prometheus

3.远程监控linux主机

4.监控mysql

 (1)安装mysqld_exporter

(2)mysql库创建相应用户并赋权(从库不需要)

(3)配置mysqld_exporter

(4)启动mysqld_exporter

(5)配置prometheus

(6)重启prometheus

5.安装Grafana

6.监控远程主机

(1)添加Prometheus数据源

(2)创建Dashboard

7.监控mysql数据

(1)配置grafana

(2)安装模板

(3)重启grafana服务

(4)在grafana图形界面导入相关json文件

8.监控redis集群数据

(1)安装redis_exporter(只需要在redis的master安装即可)

(2)启动redis_exporter

(3)回到prometheus进行配置

(4)重启prometheus

(5)在grafana导入相关json文件

9.监控elasticsearch集群

(1)安装elasticsearch_exporter(只需要在elasticsearch的master安装即可)

(2)启动elasticsearch_exporter

(3)回到prometheus进行配置

(4)重启prometheus

(5)在grafana导入相关json文件

10.监控kafka集群

(1)安装kafka_exporter(只需要kafka集群内选择一台即可)

(2)启动kafka_exporter

(3)回到prometheus进行配置

(4)重启prometheus

(5)在grafana导入相关json文件

11.监控Nacos

(1)Nacos集群暴露metrics数据(集群内其中一台)

(2)在grafana导入相关json文件

12.监控springboot2项目

(1)修改springboot2配置

(2)修改prometheus配置

(3)在grafana导入相关json文件

13.监控报警

(1)安装Alertmanager(我选择安装在prometheus的机器)

(2)修改alertmanager的主配置文件【采用邮件告警】

(3)配置Prometheus与Alertmanager通信

(4)编写告警规则


参考

基于linux下的prometheus安装与部署_梁憨憨Y的博客-CSDN博客_linux prometheus安装

【Prometheus】mysqld_exporter安装+常用配置参数详解_宫凯宁的博客-CSDN博客_mysqld_exporter参数详解

Promethus的Grafana图形显示MySQL监控数据_南宫乘风-Linux运维-虚拟化容器-Python编程 ownit.top-CSDN博客

Prometheus 监控 Redis 集群的正确姿势 - 海口-熟练工 - 博客园

Elasticsearch集群监控:elasticsearch_exporter + Prometheus + Grafana_runnerchen1的专栏-CSDN博客_elasticsearch_exporter

Prometheus + Grafana(八)系统监控之Kafka - 曹伟雄 - 博客园

Prometheus+Alertmanager实现邮件报警_运维@小兵的博客-CSDN博客_alertmanager邮件告警

相关软件安装包 百度网盘

链接:https://pan.baidu.com/s/1UvPbBDsilBuf1TvkzSgvLw 
提取码:l6jd 

Kafka Overview dashboard for Grafana | Grafana Labs    仪表盘json文件下载

Exporters and integrations | Prometheus   exporter下载

1.安装prometheus

cd /opt

mkdir prometheus

rz  #上传prometheus的tar包

tar -zxvf prometheus-2.25.0.linux-amd64.tar.gz #解压

2.启动prometheus

cd /opt/prometheus/prometheus-2.25.0.linux-amd64

nohup ./prometheus & #后台启动prometheus

http://服务器IP:9090  进行访问

3.远程监控linux主机

# 在远程主机上

cd /opt

mkdir node_exporter

cd node_exporter

rz #上传node_exporter

tar -zxvf node_exporter-1.1.1.linux-amd64.tar.gz  

cd node_exporter-1.1.1.linux-amd64

nohup ./node_exporter &   #后台启动
  • 通过浏览器访问http://被监控端IP:9100/metrics就可查看node_exporter在监控端收集的信息
  • 到prometheus服务端的配置文件添加被监控端信息
vim /opt/prometheus/prometheus-2.25.0.linux-amd64/prometheus.yml   

å¨è¿éæå¥å¾çæè¿°

pkill prometheus  #关闭之前运行的prometheus

nohup ./prometheus & #后台启动prometheus

回到http://prometheus  IP:9090  进行访问

å¨è¿éæå¥å¾çæè¿°

4.监控mysql

 (1)安装mysqld_exporter

# 在安装mysql的服务器上

cd /opt

mkdir mysqld_exporter

cd mysqld_exporter

rz   #上传mysqld_exporter-0.12.1.linux-amd64.tar.gz

tar -zxvf mysqld_exporter-0.12.1.linux-amd64.tar.gz

(2)mysql库创建相应用户并赋权(从库不需要)

create user 'exporter'@'%' identified by '123456';
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'%'  WITH MAX_USER_CONNECTIONS 3;
flush privileges;

(3)配置mysqld_exporter

cd /root

vim .my.cnf

[client]
user=exporter
password=123456

(4)启动mysqld_exporter

cd /opt/mysqld_exporter/mysqld_exporter-0.12.1.linux-amd64

nohup ./mysqld_exporter &    #后台启动mysqld_exporter

(5)配置prometheus

(6)重启prometheus

pkill prometheus  #关闭之前运行的prometheus

nohup ./node_exporter &   #后台重新启动 

回到http://prometheus  IP:9090  进行访问

5.安装Grafana

cd /opt

mkdir grafana

cd grafana

rz  #上传安装包

yum install urw-fonts  #安装相关依赖

rpm -ivh grafana-7.4.1-1.x86_64.rpm   #安装grafana

systemctl start grafana-server   #启动

systemctl enable grafana-server  #开机自启

http://grafanaIP:3000  进行访问  用户名密码均为admin

6.监控远程主机

(1)添加Prometheus数据源

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



(2)创建Dashboard

     

成功创建Linux主机监控dashboard。
在这里插入图片描述

7.监控mysql数据

(1)配置grafana

vim /etc/grafana/grafana.ini 
[dashboards.json] 
enabled = true 
path = /var/lib/grafana/dashboards

(2)安装模板

cd /var/lib

rz #上传模板

unzip grafana-dashboards-master.zip -d grafana-dashboards 

cd grafana-dashboards

cp -r dashboards /var/lib/grafana/

(3)重启grafana服务

systemctl restart grafana-server

(4)在grafana图形界面导入相关json文件

8.监控redis集群数据

(1)安装redis_exporter(只需要在redis的master安装即可)

# 在redis的主节点服务器
cd /opt

mkdir redis_exporter

cd redis_exporter

rz  #上传redis_exporter

tar -zxvf redis_exporter-v1.17.0.linux-amd64.tar.gz 

(2)启动redis_exporter

nohup ./redis_exporter -redis.addr redis主IP:6379  -redis.password qwer1234 &

(3)回到prometheus进行配置

# redis
  - job_name: 'redis__targets'
    static_configs:
      - targets:
        - redis://redis主IP:6379
        - redis://redis从IP:6380
    metrics_path: /scrape
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: redis主IP:9121

(4)重启prometheus

pkill prometheus  #关闭之前运行的prometheus

nohup ./prometheus  &   #后台重新启动 

(5)在grafana导入相关json文件

和mysql的流程一样 json文件在百度网盘

9.监控elasticsearch集群

(1)安装elasticsearch_exporter(只需要在elasticsearch的master安装即可)

# 在elasticsearch的主节点服务器
cd /opt

mkdir elasticsearch_exporter

cd elasticsearch_exporter

rz  #上传elasticsearch_exporter

tar -zxvf elasticsearch_exporter-1.1.0.linux-amd64.tar.gz

(2)启动elasticsearch_exporter

nohup ./elasticsearch_exporter --es.uri http://ES主ip:9200 &

(3)回到prometheus进行配置

- job_name: 'elasticsearch'  
    static_configs:
    - targets: ['es主ip:9114']

(4)重启prometheus

pkill prometheus  #关闭之前运行的prometheus

nohup ./prometheus  &   #后台重新启动 

(5)在grafana导入相关json文件

和mysql的流程一样 json文件在百度网盘

10.监控kafka集群

(1)安装kafka_exporter(只需要kafka集群内选择一台即可)

# 在kafka的主节点服务器
cd /opt

mkdir kafka_exporter

cd kafka_exporter

rz  #上传kafka_exporter

tar -zxvf kafka_exporter-1.2.0.linux-amd64.tar.gz

(2)启动kafka_exporter

nohup ./kafka_exporter --kafka.server=kafkaIP1:9092 &

(3)回到prometheus进行配置

- job_name: 'Kafka'  
    static_configs:
    - targets: ['kafkaip1:9114']

(4)重启prometheus

pkill prometheus  #关闭之前运行的prometheus

nohup ./prometheus  &   #后台重新启动 

(5)在grafana导入相关json文件

和mysql的流程一样 json文件在百度网盘

11.监控Nacos

Nacos 0.8.0版本完善了监控系统  

(1)Nacos集群暴露metrics数据(集群内其中一台)

配置Nacos的配置文件   application.properties文件,暴露metrics数据

vim /opt/nacos/nacos/conf/cluster.conf

#解开注释暴露全部指标
management.endpoints.web.exposure.include=*   

  重启Nacos

cd /opt/nacos/nacos/bin 

./shutdown.sh   #停止

./startup.sh   #启动  

  访问Nacosip:8848/nacos/actuator/prometheus,看是否能访问到metrics数据

(2)在grafana导入相关json文件

  配置prometheus数据源(之前的prometheus是大写,这次要用小写,否则看不到相关数据)

image.png

image.png

导入Nacos grafana监控模版

下载地址:GitHub - nacos-group/nacos-template: nacos-template include PPT template and knote (云盘有我下好的)

和之前的一样,导入就可以了。

12.监控springboot2项目

(1)修改springboot2配置

#yml 文件加入如下配置
management:
  endpoints:
    web:
      exposure:
        include:  '*'
  metrics:
    tags:
       application: ${spring.application.name}

# pom文件加入如下依赖
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
#启动类加入如下代码
@Bean
MeterRegistryCustomizer<MeterRegistry> configurer(@Value("${spring.application.name}") String applicationName) {
        return (registry) -> registry.config().commonTags("application", applicationName);
}

(2)修改prometheus配置

# LifeService
  - job_name: 'LifeService'
    scrape_interval: 5s
    metrics_path: '/actuator/prometheus'
    static_configs: 
    - targets: ['IP:port']

(3)在grafana导入相关json文件

和mysql的流程一样 json文件在百度网盘

13.监控报警

(1)安装Alertmanager(我选择安装在prometheus的机器)

cd /opt

mkdir alertmanager

rz #上传安装包

tar -zxvf alertmanager-0.21.0.linux-amd64.tar.gz

cd alertmanager-0.21.0.linux-amd64

(2)修改alertmanager的主配置文件【采用邮件告警】

global:
  resolve_timeout: 5m
  smtp_smarthost: 'smtp.163.com:25'
  smtp_from: 发件人邮箱
  smtp_auth_username: 发件人邮箱
  smtp_auth_password: 密码
  smtp_require_tls: false

route:
  group_by: ['alertname']
  group_wait: 10s
  group_interval: 10s
  repeat_interval: 1m
  receiver: 'mail'
receivers:
- name: 'mail'
  email_configs:
  - to: 收件人邮箱
smtp_smarthost是用于发送邮件的邮箱的SMTP服务器地址+端口
smtp_auth_password是发送邮箱的授权码而不是登录密码
smtp_require_tls不设置的话默认为true,当为true时会有starttls错误,可以用其他办法解决。为了简单这里直接设置为false
templates指出邮件的模板路径
receivers下html指出邮件内容模板名,这里模板名为“alert.html”,在模板路径中的某个文件中定义
headers为邮件标题

检查配置文件是否正确
./amtool check-config alertmanager.yml

启动

./alertmanager --config.file=alertmanager.yml &

(3)配置Prometheus与Alertmanager通信

vim prometheus.yml


在这里插入图片描述

(4)编写告警规则

groups:
- name: general.rules
  rules:

  # Alert for any instance that is unreachable for >5 minutes.
  - alert: InstanceDown
    expr: up == 0
    for: 1m
    labels:
      severity: error
    annotations:
      summary: "Instance {{ $labels.instance }} 停止工作"
      description: "{{ $labels.instance }} of job {{ $labels.job }} 已停止1分钟>以上"

在prometheus能看到自己编写的规则

(5)开启授权码

开启后会获得授权码,使用授权码替换配置文件的密码更为安全

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在CentOS 7上安装PrometheusGrafana,可以按照以下步骤进行操作: 1. 首先,下载Prometheus的压缩包。你可以在Prometheus的官方网站上选择一个适合你的安装包版本。使用wget命令下载压缩包: ``` wget http://github.com/prometheus/prometheus/releases/download/v2.44.0/prometheus-2.44.0.linux-amd64.tar.gz ``` 2. 解压下载的压缩包: ``` tar -zvxf prometheus-2.44.0.linux-amd64.tar.gz ``` 3. 进入解压后的Prometheus文件夹: ``` cd prometheus-2.44.0.linux-amd64 ``` 4. 创建一个用于存储Prometheus数据的文件夹: ``` mkdir /usr/local/prometheus/data ``` 5. 创建一个用于运行Prometheus的系统用户: ``` useradd -s /sbin/nologin prometheus ``` 6. 将Prometheus文件夹移动到/usr/local目录下,并设置正确的所有者: ``` mv prometheus-2.44.0.linux-amd64 /usr/local/prometheus chown -R prometheus:prometheus /usr/local/prometheus/ ``` 7. 配置Prometheus的启动脚本。使用vim编辑器打开prometheus.service文件: ``` vim /usr/lib/systemd/system/prometheus.service ``` 8. 在文件中添加以下内容: ``` [Unit] Description=prometheus After=network.target <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [CentOS7安装Prometheus+Grafana](https://blog.csdn.net/weixin_58131623/article/details/129612643)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Centos7匹配Locust+prometheus+grafana性能监控平台](https://blog.csdn.net/vikesgao/article/details/130965336)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值