• k8s-部署Prometheus


    二进制方式部署prometheus

    https://github.com/prometheus/prometheus/releases #prometheus下载地址

    https://github.com/prometheus/node_exporter/releases #node_exporter下载地址

    https://github.com/prometheus/alertmanager/releases #alertmanager下载地址

    https://mirrors.tuna.tsinghua.edu.cn/grafana/debian/pool/main/g/grafana/ #grafana下载地址

    https://grafana.com/grafana/download #grafana官方下载地址

    部署prometheus server

    1、cd /usr/local/src
    
    2、tar xvf prometheus-2.17.1.linux-amd64.tar.gz
    
    3、ln -sv /usr/local/src/prometheus-2.17.1.linux-amd64 /usr/local/prometheus
    
    4、cd /usr/local/prometheus
    
    5、vim prometheus.yml
    global:
      scrape_interval:     15s  #每隔15s到监控节点上获取一次数据
      evaluation_interval: 15s  #监控规则评估频率,比如设置了当内存使用大于70%发出报警的规则,然后每15秒来执行一次这个规则
      
    scrape_configs:                    #指定所需要监控的节点
      - job_name: 'kubernetes-node'    #指定监控的node节点
        static_configs:
        - targets: ['192.168.3.144:9100','192.168.3.145:9100','192.168.3.146:9100']
      
      - job_name: 'kubernetes-master'  #指定监控的k8s-master节点
        static_configs:
        - targets: ['192.168.3.141:9100','192.168.3.142:9100','192.168.3.143:9100']  
    #安装完prometheus会默认监控本机数据,可以把监控本机的job删除,重新指定监控本机的9100,否则监控本机的9090与9100两项,会冲突
    
    6、 vim /etc/systemd/system/prometheus.service       #配置prometheus的service启动文件
    [Unit]
    Description=Prometheus Server
    Documentation=https://prometheus.io/docs/introduction/overview/
    After=network.target
    [Service]
    Restart=on-failure
    WorkingDirectory=/usr/local/prometheus/
    ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml
    
    [Install]
    WantedBy=multi-user.target
    
    7、systemctl start prometheus.service      #prometheus起来后默认会监听9090端口,并且会监控当前服务器的默认指标
    
    8、systemctl enable prometheus.service
    

    部署node exporter

    收集k8s 各个node节点上的监控指标数据,各个master也需要安装,监控master上的指标数据,监听端口为9100;每个需要被监控的node、master节点都需要安装
    
    1、cd /usr/local/src
    
    2、tar xvf node_exporter-0.18.1.linux-amd64.tar.gz
    
    3、ln -sv /usr/local/src/node_exporter-0.18.1.linux-amd64 /usr/local/node_exporter
    
    4、vim /etc/systemd/system/node-exporter.service
    [Unit] 
    Description=Prometheus Node Exporter 
    After=network.target 
    
    [Service] 
    ExecStart=/usr/local/node_exporter/node_exporter
    
    [Install]
    WantedBy=multi-user.target
    
    5、systemctl start node-exporter.service
    
    6、systemctl enable node-exporter.service
    

    部署grafana

    1、apt-get install -y adduser libfontconfig1     #ubuntu系统需要安装,centos不需要;ubuntu不安装也可以,使用此命令:apt --fix-broken install -y  强制安装,解决依赖关系
    
    2、dpkg -i grafana_6.7.2_amd64.deb
    
    3、vim /etc/grafana/grafana.ini   #修改配置文件
    [server]
    protocol = http   #使用http协议访问
    http_port = 3000  #监听端口
    ;http_addr =      #监听本机所有地址
    
    [database]
    ;type = sqlite3        #默认不配;数据库使用的是sqlite,可以改成mysql
    ;host = 127.0.0.1:3306
    ;name = grafana
    ;user = root
    ;password =
    #给grafana配置数据库主要存储的是在grafana上添加的图形以及配置项的配置数据,而不是存储Prometheus的监控数据,所以可以在一个新的服务器上,安装grafana,把数据库地址指向当前这台服务器所设置的数据库地址,在另一台服务器上的grafana可以直接使用
    
    4、systemctl start grafana-server
    
    5、浏览器访问grafana的3000端口,账号名密码默认都是admin
    
    6、添加数据源,读取Prometheus的数据
    
    7、选择Prometheus
    
    8、指定Prometheus服务器的地址及端口
    
    9、导入模板
    
    10、去grafana官网查询模板
    
    11、输入官方查看到的模板ID
    
    12、导入模板,指定数据源,监控node资源
    
    13、如果发现有的模板的饼图无法显示,需要安装插件,在线安装插件:
    (1)grafana-cli plugins list-remote                      #列出所有插件;都是与图形显示相关的
    (2)grafana-cli plugins install grafana-piechart-panel   #安装饼图显示的插件;安装什么插件,需要到官方的模板中,查看模板的介绍信息,介绍信息中会提示需要安装什么
    (3)service grafana-server restart
    
    离线安装插件:
    (1)cd /var/lib/grafana/plugins   #插件项目必须克隆在grafana存放插件的目录下
    (2)git clone https://github.com/grafana/piechart-panel.git --branch release-1.3.8
    (3)service grafana-server restart
    

    https://grafana.com/grafana/plugins/grafana-piechart-panel #grafana的饼图插件参考

    容器方式部署prometheus

    https://prometheus.io/docs/prometheus/latest/installation/ #docker镜像直接启动

    1、docker run -p 9090:9090 prom/prometheus
    

    通过operator项目部署prometheus

    https://github.com/coreos/kube-prometheus #operator部署

    1、cd /usr/local/src/
    
    2、git clone https://github.com/coreos/kube-prometheus.git  #把项目必须克隆到k8s-master上
    
    3、cd kube-prometheus/manifests/
    
    4、kubectl apply -f setup/   #创建setup目录下的规则、资源对象、用户
    
    5、grep image ./*   
    #会发现当前目录下的yml文件的镜像地址都是在国外,需要提前把镜像下载下来上传到本地harbor;如alertmanager、grafana、node_exporter、prometheus等镜像;可以尝试镜像能不能下载下来
    
    6、kubectl apply -f .   #创建当前目录下的所有 yml 文件中的对象资源
    
    7、kubectl --namespace monitoring port-forward --address 0.0.0.0 svc/grafana 3000:3000
    #指定namespace,指定端口转发,指定监听本机的所有IP地址(如果不指定,则只监听127.0.0.1),指定service的名称,将本机的3000端口映射到service的3000端口;但是访问grafana时,只能访问当前执行此条命令的主机,不能访问其他机器的3000端口,因为这不是绑定nodeport,只是开启了当前主机的端口转发;可以使用下一步的方式绑定nodeport
    
    8、vim grafana-service.yaml         #通过修改service的方式,绑定nodeport,允许外部访问
    apiVersion: v1
    kind: Service
    metadata:
      labels:
        app: grafana
      name: grafana
      namespace: monitoring
    spec:
      type: NodePort      #添加NodePort
      ports:
      - name: http
        port: 3000
        targetPort: http  #grafana的deployment的yml文件中定义了容器端口是3000,并且端口名称设置为http
        nodePort: 33000   #绑定一个宿主机的nodeport
      selector:
        app: grafana  
    
    9、kubectl apply -f .
    
  • 相关阅读:
    基于HTTP和TFTP的PXE批量自动化安装Linux系统
    使用U盘进行Linux系统的安装
    CentOS 7单用户模式修改root密码
    LVS的调度算法分析
    linux LVS DR模式配置
    Nagios的客户端的安装
    Nagios监控系统的安装
    Linux内核升级
    redhat linux使用Centos yum源
    Juniper srx防火墙NAT配置
  • 原文地址:https://www.cnblogs.com/dongzhanyi123/p/13330530.html
Copyright © 2020-2023  润新知