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://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