Prometheus安装

使用docker安装

docker已经安装好之后,正式安装prometheus

docker run -d  -p 9090:9090 -v /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml   -v /etc/localtime:/etc/localtime prom/prometheus

如果启动成功,访问http://服务器地址:9090

node export 安装

docker run -d  -p 9100:9100 quay.io/prometheus/node-exporter

安装完之后,需要修改prometheus.yml配置文件,增加要监听的job,需要指定job的名称,以及暴露的metrics的访问路径

  - job_name: "node"
    # metrics_path defaults to '/metrics'
    #  scheme defaults to 'http'.
    static_configs:
      - targets: ["localhost:9001"]  #使用宿主机内网ip

重启prometheus容器生效

Grafana安装

可以使用grafana展示监控视图。

docker run -d --name=grafana -p 3001:3000 -v /var/lib/grafana:/var/lib/grafana -v /etc/grafana/grafana.ini:/etc/grafana/grafana.ini   -v /etc/localtime:/etc/localtime grafana/grafana 

访问http://ip地址:指定的端口grafana安装成功,第一次访问需要修改密码,初始密码是admin/admin,修改密码之后,需要按照新密码登录。

grafana配置

添加数据源
添加数据源

Name为数据源名,URLprometheus地址

导入模板
导入模板

填入8919导入模板

Prometheus Data Sourcegrafana添加的数据源

监控jvm

web项目中增加依赖

<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-actuator</artifactId>
	</dependency>
	<dependency>
		<groupId>io.micrometer</groupId>
		<artifactId>micrometer-registry-prometheus</artifactId>
		<version>1.1.4</version>
	</dependency>

application.yml中添加配置

management:
  endpoints:
    web:
      exposure:
        include: '*'  #开启 Actuator 服务
  metrics:			#将该工程应用名称添加到计量器注册表的 tag 中
    tags:
      application: ${spring.application.name}  #应用名称比如:app

在工程启动主类中增加监控 JVM 性能指标注释下的内容:

@SpringBootApplication
public class WebsiteApplication {

    public static void main(String[] args) {
        SpringApplication.run(WebsiteApplication.class, args);
    }
    //监控 JVM 性能指标
    @Bean
    MeterRegistryCustomizer<MeterRegistry> configurer(@Value("${spring.application.name}") String applicationName){
        return registry -> registry.config().commonTags("application", applicationName);
    }
}

启动动服务,浏览器访问 http://127.0.0.1:8088/actuator/prometheus 就可以看到应用的 一系列不同类型 metrics 信息

Prometheus配置新增

prometheus.yml文件新增如下配置:

- job_name: 'application'
    scrape_interval: 5s
    metrics_path: '/actuator/prometheus'
    file_sd_configs:
      - files: ['/etc/prometheus/*.json']

新建json文件app.json,内容如下:

[
    {
        "targets": [
            "ip:port"	//项目访问地址
        ],
        "labels": {
            "instance": "app",	//可使用应用名称
            "service": "app-service"
        }
    }
    //可增加多个项目的配置
]

重启 Prometheus 服务,查看 Prometheu 界面 Target 中确认是否添加成功。

配置 Grafana JVM Dashboard 监控项

参考grafana配置中导入模板的操作,导入4701模板

效果如下:

参考地址:

https://blog.csdn.net/aixiaoyang168/article/details/100866159

https://cloud.tencent.com/developer/article/1442143

https://www.jianshu.com/p/12df755f2c66