banner
NEWS LETTER

Helm部署Nightingale

Scroll down

本文作者:丁辉

Helm部署Nightingale

介绍

Nightingale 是一个开源的监控工具,主要用于监控和分析电子病历系统(EMR)中的数据

开始部署

官方文档

项目仓库

Helm仓库地址

  1. 克隆 Helm 仓库

    1
    git clone https://github.com/flashcatcloud/n9e-helm.git
  2. 编写 values.yaml

    1
    vi n9e-values.yaml

    内容如下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    expose:
    type: clusterIP # 使用 clusterIP

    externalURL: https://填写域名 # 改为自己的外部服务访问地址

    # 指定存储卷, 不指定则需要集群内存在默认的存储卷
    persistence:
    enabled: true
    persistentVolumeClaim:
    database:
    storageClass: ""
    redis:
    storageClass: ""
    prometheus:
    storageClass: ""

    categraf:
    internal:
    docker_socket: unix:///var/run/docker.sock # 如果您的kubernetes运行时是容器或其他,则清空此变量。

    n9e:
    internal:
    image:
    repository: flashcatcloud/nightingale
    tag: latest # 使用最新版镜像
  3. 部署

    1
    helm install nightingale ./n9e-helm -n monitor -f n9e-values.yaml --create-namespace
  4. 创建 Nginx 证书 secret

    cert为.pem和.crt文件都可以

    1
    kubectl create secret tls n9e-tls --key nginx.key --cert nginx.pem -n monitor
  5. 编写 ingress 文件

    1
    vi n9e-ingress.yaml

    内容如下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
    name: n9e-ingress
    namespace: monitor
    spec:
    ingressClassName: nginx
    rules:
    - host: # 域名
    http:
    paths:
    - pathType: Prefix
    backend:
    service:
    name: nightingale-center
    port:
    number: 80
    path: /
    tls:
    - hosts:
    - # 域名
    secretName: n9e-tls
  6. 部署 ingress

    1
    kubectl apply -f n9e-ingress.yaml
  7. 访问验证

卸载

  1. 删除 ingress

    1
    kubectl delete -f n9e-ingress.yaml
  2. 卸载 nightingale

    1
    helm uninstall nightingale -n monitor
  3. 删除 secret

    1
    kubectl delete secret n9e-tls -n monitor
  4. 删除命名空间

    1
    kubectl delete namespace monitor

开始使用

添加自带的 prometheus 数据源

登录系统后点击 > 系统配置 > 数据源 > 添加

  • 数据源名称

    1
    nightingale-prometheus
  • URL

    1
    http://nightingale-prometheus:9090

如何配置外部数据库

使用外部数据库

仅为示例

更改 values.yaml 内 database 配置

1
vi n9e-values.yaml

内容如下

1
2
3
4
5
6
7
8
9
database:
type: external # 改为 external
external:
host: "192.168.1.10"
port: "3306"
name: "n9e_v6"
username: "root"
password: "root"
sslmode: "disable"

配置外部 Reids 启动

指定 Reids 运行模式为独立模式或哨兵模式

仅为示例

更改 values.yaml 内 redis 配置

1
vi n9e-values.yaml

内容如下

1
2
3
4
5
6
7
redis:
type: external
external:
addr: "192.168.1.10:6379"
sentinelMasterSet: ""
password: ""
mode: "standalone" # standalone/sentinel

问题记录

  • 部署后 prometheus 无法抓取 n9e 监控目标

    原因是因为:

    1. prometheus 配置 svc 地址错误
    2. helm 模版格式错误

    解决方法:

    本人提交记录

I'm so cute. Please give me money.

其他文章
cover
Helm部署Nginx-Ingress
  • 70/01/01
  • 00:00
  • Kubernetes-Helm
cover
Helm部署OpenEBS存储
  • 70/01/01
  • 00:00
  • Kubernetes-Helm
目录导航 置顶
  1. 1. Helm部署Nightingale
    1. 1.1. 介绍
    2. 1.2. 开始部署
    3. 1.3. 卸载
  2. 2. 开始使用
  3. 3. 如何配置外部数据库
    1. 3.1. 使用外部数据库
    2. 3.2. 配置外部 Reids 启动
  4. 4. 问题记录
请输入关键词进行搜索