ubuntu 20.04 docker prometheus

ubuntu 20.04 docker
https://docs.docker.com/engine/install/ubuntu/
Ubuntu20.04下部署linux资源监控平台(docker部署)grafana+prometheus+node_exporter(docker+离线包)
https://blog.csdn.net/deer_cui/article/details/134020816

https://www.prometheus.wang/

https://prometheus.io/docs/prometheus/latest/installation/

Run Grafana Docker image
https://grafana.com/docs/grafana/latest/setup-grafana/installation/docker/

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker run hello-world

sudo apt-cache madison docker-ce | awk ‘{ print $3 }’

sudo docker pull prom/node-exporter

sudo docker pull prom/prometheus

sudo mkdir /data/
sudo chmod -R 777 /data/
mkdir prometheus
vi prometheus.yml

sudo docker volume create prometheus-data

-- name 需要放在前面 放在最后 不起作用
sudo docker run --name zt-prom --restart=always -p 9090:9090 -v /data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml -v prometheus-data:/prometheus -v /data/rules/node_rules.yml:/data/node_rules.yml -d  prom/prometheus 



docker restart zt-prometheus
docker exec -it zt-prometheus /bin/sh

sudo docker ps -a 
sudo docker run --name=node-exporter --restart=always -p 9100:9100 -v "/proc:/host/proc:ro"  -v "/sys:/host/sys:ro" -v "/:/rootfs:ro"  -d prom/node-exporter

node_exporter 版本查看

sudo docker pull prom/node-exporter:v1.7.0
node-exporter 是 容器的name
docker exec -it node-exporter /bin/sh
/bin/node_exporter --version
node_exporter, version 1.7.0 (branch: HEAD, revision: 7333465abf9efba81876303bb57e6fadb946041b)
  build user:       root@35918982f6d8
  build date:       20231112-23:53:35
  go version:       go1.21.4
  platform:         linux/amd64
  tags:             netgo osusergo static_build

查看

jack@ubuntu:~$ docker container ls
CONTAINER ID   IMAGE                        COMMAND                  CREATED        STATUS         PORTS                                       NAMES
3057ff5d3638   ncabatoff/process-exporter   "/bin/process-export…"   22 hours ago   Up 9 minutes   0.0.0.0:9256->9256/tcp, :::9256->9256/tcp   zt_process
13a56a0120d4   prom/prometheus              "/bin/prometheus --c…"   23 hours ago   Up 9 minutes   0.0.0.0:9090->9090/tcp, :::9090->9090/tcp   zt-prom
4ed1ce5e0768   grafana/grafana-enterprise   "/run.sh"                25 hours ago   Up 9 minutes   0.0.0.0:3000->3000/tcp, :::3000->3000/tcp   grafana
19b0bbf52894   prom/node-exporter           "/bin/node_exporter"     25 hours ago   Up 9 minutes   0.0.0.0:9100->9100/tcp, :::9100->9100/tcp   node-exporter
cd8e7ade5a3d   prom/alertmanager            "/bin/alertmanager -…"   25 hours ago   Up 9 minutes   0.0.0.0:9093->9093/tcp, :::9093->9093/tcp   alertmanager

docker 常用 命令

systemctl start docker
# 停止dokcer
systemctl stop docker
# 查看docker状态
systemctl status docker 
# 重启docker
systemctl restart docker
# 设置docker 开机自启
systemctl enable docker

grafana

docker pull grafana/grafana

cd /data/
mkdir grafana-storage
chmod 777 -R grafana-storage
sudo docker pull grafana/grafana-enterprise

sudo docker run --restart=always -d -p 3000:3000 --name=grafana grafana/grafana-enterprise

sudo docker restart pensive_knuth

http://192.168.99.40:9090/
http://192.168.99.40:3000/
admin
admin

启动 grafana
cd /data/
mkdir grafana-storage

[Linux] docker 出现Got permission denied while trying to connect to the Docker daemon socket…问题的解决办法
https://blog.csdn.net/weixin_43972154/article/details/123873175
ubuntu20.04系统docker权限报错
https://blog.csdn.net/jasdhasd/article/details/131054044
1、添加docker group
sudo groupadd docker
如果docker组已经存在,可能会出现这个提示:groupadd: group ‘docker’ already exists

2、将用户名“username@主机名”加到docker group中
sudo usermod -aG docker jack
3、重启系统

配置文件11

prometheus.yml

# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"


scrape_configs: #指定prometheus要监控的目标
  - job_name: "server"
  #我本机刚装了node_exporter,这里监控的是本机,如果有其他机器可以填写其他的ip+端口,然后重启prometheus服务
    static_configs:
            - targets: ["192.168.99.40:9100",'192.168.99.55:9100']

停止 服务

sudo service prometheus-node-exporter start
sudo service prometheus-node-exporter status
列出所有的正在运行的服务
sudo service --status-all

netstat -pantu | grep 9100

alertmanager

centos7下部署主机监控,mysql指标监控,(prometheus+grafana+node_exporter+mysqld_exporter+alertmanager)
https://blog.csdn.net/wangchengjiea/article/details/124197860
https://blog.csdn.net/wohu1104/article/details/128737085

docker pull prom/alertmanager
docker run --restart=always -d -p 9093:9093 -v /data/alertmanager/:/etc/alertmanager/ --name alertmanager prom/alertmanager

docker cp alertmanager:/etc/alertmanager/alertmanager.yml .
在这里插入图片描述

查看alertmanager 版本

docker exec  -it alertmanager /bin/sh
/bin/alertmanager --version
alertmanager, version 0.26.0 (branch: HEAD, revision: d7b4f0c7322e7151d6e3b1e31cbc15361e295d8d)
  build user:       root@df8d7debeef4
  build date:       20230824-11:11:58
  go version:       go1.20.7
  platform:         linux/amd64
  tags:             netgo

查看版本

docker container ls
docker exec -it zt-prometheus /bin/prometheus --version
docker exec -it 7c6d4d897c82 /bin/node-exporter --version
docker pull prom/prometheus:v2.48.0
docker search prometheus
docker logs d54fc1e2751d
进容器查看配置文件是否报错
promtool check config /etc/prometheus/prometheus.yml
docker exec -it zt-prom /bin/sh

官方的

prometheus
alertmanager
blackbox_exporter
consul_exporter
graphite_exporter
memcached_exporter
mysqld_exporter
node_exporter
promlens
pushgateway
statsd_exporter

process-exporter

https://prometheus.io/docs/instrumenting/exporters/
https://github.com/ncabatoff/process-exporter

https://blog.csdn.net/qq_34386723/article/details/106689151

docker pull ncabatoff/process-exporter
sudo docker pull ncabatoff/process-exporter

docker pull ncabatoff/process-exporter:latest
docker pull ncabatoff/process-exporter:0.3.2
docker pull ncabatoff/process-exporter:0.7.10

process-exporter [options] -config.path filename.yml
docker run -d --rm -p 9256:9256 --privileged -v /proc:/host/proc -v `pwd`:/config ncabatoff/process-exporter --procfs /host/proc -config.path /config/filename.yml
docker run --restart=always --name zt_process -d  -p 9256:9256 --privileged -v /proc:/host/proc -v /data/process-exporter:/config ncabatoff/process-exporter --procfs /host/proc -config.path config/process-exporter.yml


192.168.99.40:9090中没有

192.168.99.40:3000中有
Grafana中配置process-exporter
import dashboard 导入模板。模板 id 249,至此就配置完成了,打开配置的dashboard看是否有对进程的监控
192.168.99.40:9256去看看是否运行了。

查看 process-exporter版本

docker exec -it zt_process /bin/process-exporter  --version
process-exporter, version v0.7.10 (branch: HEAD, revision: 935906b20e56b70afc22443137fa0337f7fa5d05)
  build user:       root@buildkitsandbox
  build date:       2021-11-17T13:18:57+00:00
  go version:       go1.17.3
  platform:         linux/amd64

mysqld-exporter

https://grafana.com/grafana/dashboards/7362
https://blog.csdn.net/y_bccl27/article/details/127593422

sudo service --status-all
sudo service prometheus-mysqld-exporter status
sudo service prometheus-mysqld-exporter stop
sudo sudo systemctl enable prometheus-mysqld-exporter

DATA_SOURCE_NAME=“mysqld_exporter:123456@(127.0.0.1:3306)/”

查看一下 有没有问题
http://192.168.99.55:9104

docker run -d --restart=always --name zt_mysqld -p 19104:9104 -e DATA_SOURCE_NAME="mysqld_exporter:123456@(192.168.99.55:3306)/" prom/mysqld-exporter

11

CREATE USER 'mysqld_exporter'@'192.168.99.55' IDENTIFIED BY '123456' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysqld_exporter'@'192.168.99.55';
FLUSH PRIVILEGES;
CREATE USER 'mysqld_exporter'@'%' IDENTIFIED BY '123456' WITH MAX_USER_CONNECTIONS 3;

GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysqld_exporter'@'%';

CREATE USER ‘mysqld_exporter’@‘localhost’ IDENTIFIED BY ‘123456’ WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON . TO ‘mysqld_exporter’@‘localhost’;
FLUSH PRIVILEGES;

sudo mysql -u root -p
select user from mysql.user ;
select host,user from mysql.user;
use mysql;

sudo systemctl status mysql
sudo mysql -u root -p
mysql -h 10.123.45.17 -P3306 -u root -p123456
docker exec -it mysqlserver bash

sudo mysql -h 192.168.99.55 -P 3306 -u mysqld_exporter -p123456
sudo mysql -h127.0.0.1 -P3306 -uroot -p123456

docker rmi prom/mysqld-exporter
docker rm zt_mysqld
docker stop zt_mysqld
docker pull prom/mysqld-exporter:v0.14.0

下面这个可以

docker pull prom/mysqld-exporter:v0.14.0
docker run -d --restart=always --name zt_mysqld -p 9104:9104 -e DATA_SOURCE_NAME="mysqld_exporter:123456@(127.0.0.1:3306)/" prom/mysqld-exporter:v0.14.0
docker run -d --restart=always --name zt_mysqld -p 9104:9104 -e DATA_SOURCE_NAME="mysqld_exporter:123456@(192.168.99.55:3306)/" prom/mysqld-exporter:v0.14.0

直接用 prom/mysqld-exporter:latest 会出错 一直 restart
http://192.168.99.55:9104/metrics
用127.0.0.1:3306 不出数据,需要修改为192.168.99.55:3306

下面这样不行
docker run -d --net=host --restart=always --name zt_mysqld -p 9104:9104 -e DATA_SOURCE_NAME="mysqld_exporter:123456@(127.0.0.1:3306)/" prom/mysqld-exporter:v0.14.0

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

保存时间

在这里插入图片描述

docker net

docker之网络配置
Docker在创建容器时有四种网络模式:bridge/host/container/none,bridge为默认不需要用–net去指定,其他三种模式需要在创建容器时使用–net去指定
https://blog.csdn.net/weixin_67677668/article/details/128239413

label

  - job_name: linux

    static_configs:

      - targets: ['192.168.91.132:9100']

        labels:

          instance: localhost

相关推荐

  1. Ubuntu2204配置samba

    2023-12-22 18:44:01       75 阅读
  2. Ubuntu 下 Docker安装 2024

    2023-12-22 18:44:01       27 阅读
  3. 【ESP32】Ubuntu2004搭建espressif

    2023-12-22 18:44:01       51 阅读
  4. Ubuntu2204一句话下载VSCode

    2023-12-22 18:44:01       76 阅读
  5. Ubuntu2204安装小熊猫C++/DevCpp

    2023-12-22 18:44:01       74 阅读
  6. ubuntu2204,mysql8.x安装

    2023-12-22 18:44:01       57 阅读
  7. 2024.5.12 ubuntu + latex + vscode

    2023-12-22 18:44:01       33 阅读
  8. Ubuntu2204搭建ceph17

    2023-12-22 18:44:01       20 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-22 18:44:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-22 18:44:01       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-22 18:44:01       82 阅读
  4. Python语言-面向对象

    2023-12-22 18:44:01       91 阅读

热门阅读

  1. OpenVAS 故障排除

    2023-12-22 18:44:01       56 阅读
  2. FlinkSQL

    FlinkSQL

    2023-12-22 18:44:01      53 阅读
  3. Android Studio 显示Cause: connect timed out

    2023-12-22 18:44:01       61 阅读
  4. day6 力扣公共前缀--go实现---对字符串的一些思考

    2023-12-22 18:44:01       58 阅读
  5. hive中array相关函数总结

    2023-12-22 18:44:01       65 阅读
  6. 自定义ORM(mybatis)源码(一)-解析config.xml

    2023-12-22 18:44:01       54 阅读
  7. Semaphore的简单使用

    2023-12-22 18:44:01       52 阅读