跳到主要内容

[toc]

grafana安装

grafana官网

grafana官方下载地址

grafana官方管理配置文档

rpm包安装

安装

yum install -y https://dl.grafana.com/grafana/release/12.2.1/grafana_12.2.1_18655849634_linux_amd64.rpm

启动服务并设置开机自启

说明

grafana默认监听TCP/3000端口

systemctl enable grafana-server && systemctl start grafana-server

grafana配置文件路径说明

官方文档中对于grafana配置文件路径的说明

文件说明
/usr/share/grafana/安装目录
/usr/share/grafana/bin/grafana-cligrafana-cli 路径
/etc/grafana/grafana.ini全局配置文件
/usr/share/grafana/conf/defaults.ini默认配置文件
/var/lib/grafana/plugins/`plugins 安装目录
/var/lib/grafana/grafana.db默认数据存储文件路径
/var/log/grafana/日志文件存储路径
/usr/share/grafana/public/emails/邮件默认发送模板路径

yum安装

yum安装官方文档

导入 GPG key

wget -q -O gpg.key https://rpm.grafana.com/gpg.key
sudo rpm --import gpg.key

编辑yum源

cat > /etc/yum.repos.d/grafana.repo <<EOF
[grafana]
name=grafana
baseurl=https://rpm.grafana.com
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://rpm.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
EOF

安装

说明

可以通过如下命令查看可以安装的grafana版本

yum clean all
yum makecache
yum list grafana --showduplicates
# 默认安装最新版
yum -y install grafana

# 指定版本安装
yum -y install grafana-12.2.1

启动

systemctl start grafana-server && systemctl enable grafana-server

docker安装

安装并启动容器

官方安装文档 中安装的grafana并没有做持久化

docker run -d --name=grafana -p 3000:3000 grafana/grafana

配置持久化

docker安装grafana持久化官方文档

grafana数据存储路径为 /var/lib/grafana/grafana.db 文件,插件存储路径为 /var/lib/grafana/plugins 目录,因此需要持久化 /var/lib/grafana 这个目录

注意

以挂载宿主机目录的形式启动grafana的时候必须指定用户为root(--user=root),否则后续会报权限错误;而以volume形式挂载则没有问题

docker run \
-d \
--restart=always \
--name=grafana \
-h grafana \
-p 3000:3000 \
-v grafana-data:/var/lib/grafana \
-v grafana-config:/etc/grafana \
grafana/grafana:12.2.1

compose文件

cat > docker-compose.yaml << EOF
services:
grafana:
restart: always
container_name: grafana
user: root
hostname: grafana
ports:
- 3001:3000
volumes:
- grafana-data:/var/lib/grafana
- grafana-config:/etc/grafana
image: grafana/grafana:12.2.1

volumes:
grafana-data:
grafana-config:
EOF

二进制安装

下载二进制包

wget https://dl.grafana.com/grafana/release/12.2.1/grafana_12.2.1_18655849634_linux_amd64.tar.gz

解压缩

tar -zxvf grafana_12.2.1_18655849634_linux_amd64.tar.gz

启动

# 后台启动
cd grafana-12.2.1
./bin/grafana-server &

helm安装

添加仓库

helm repo add grafana https://grafana.github.io/helm-charts
helm repo update

下载包

helm pull grafana/grafana
tar xf grafana-8.3.6.tgz

编辑 values.yaml

values.yaml 中可以定义启动参数、资源配置、svc、ingress等,自行修改即可

指定admin密码

注意

关于admin用户名和密码的配置处,可以以明文的方式指定,也可以指定外部secret

在指定外部secret的时候需要注意的是,如果通过手动编辑yaml文件的方式,在生成base64编码的时候,需要注意生成的base64编码不能包含换行符

在linux系统中,可以使用 -w0 参数生成没有换行符的base64编码

echo 'admin' | base64 -w0

也可以使用 echo -n 在输出字符串时不再末尾添加换行符

echo -n 'admin' | base64

也可以通过命令行来生成secret

kubectl create secret generic admin-secret \
--from-literal=admin-user=admin \
--from-literal=admin-password=admin \
-n monitor

生成的secret内容如下

$ kubectl get secrets admin-secret -o yaml
apiVersion: v1
data:
admin-password: YWRtaW4=
admin-user: YWRtaW4=
kind: Secret
metadata:
creationTimestamp: "2025-01-16T03:33:23Z"
name: admin-secret
namespace: monitor
resourceVersion: "177855"
uid: 35123900-b12c-4350-8155-dbd8172315c8
type: Opaque
# Administrator credentials when not using an existing secret (see below)
adminUser: admin
# adminPassword: strongpassword

# Use an existing secret for the admin user.
admin:
## Name of the secret. Can be templated.
existingSecret: "admin-secret"
userKey: admin-user
passwordKey: admin-password

修改时区

说明

默认时区是UTC+0,如果要修改成UTC+8则需要在 values.yaml 文件中进行如下配置

env: 
TZ: "Asia/Shanghai"
## "valueFrom" environment variable references that will be added to deployment pods. Name is templated.
## ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#envvarsource-v1-core
## Renders in container spec as:
## env:
## ...
## - name: <key>
## valueFrom:
## <value rendered as YAML>

安装

helm upgrade --install grafana -n monitor --create-namespace . 

登陆grafana

浏览器访问 IP:3000

初始默认账户和密码都是admin

iShot2020-06-1110.14.33

登陆成功后会提示修改密码,也可以选择跳过不修改

iShot2020-06-1110.33.24

登陆后首界面

iShot2020-06-1110.31.49

Bottom GIF
Top GIF