نصب Grafana با Docker Compose
‼️ روایت با فرض نصب پرومتئوس روی دستگاه مربوطه انجام شده است. اگر نصب نشدند، باید به عنوان اولین مرحله نصب آنها را انجام دهید. می توان از این منبع استفاده کرد.
1. گرافانا چیست
Grafana یک پلت فرم منبع باز برای تجسم و تجزیه و تحلیل داده ها است. Grafana میتواند دادههای شما را از منابع داده مختلف از جمله Prometheus جمعآوری کند و این دادهها را در زمان واقعی تجسم کند و به کاربران کمک کند دید و درک بهتری داشته باشند.
Grafana می تواند توسط گروه های کاربری مختلف مانند مدیران سیستم، دانشمندان داده، متخصصان هوش تجاری و سایر کاربران فنی استفاده شود.
2. پیکربندی
2.1 grafana/config.monitoring
پس از نصب Prometheus، یک پیکربندی Grafana ایجاد می شود که رمز عبور راه اندازی را تعیین می کند و از ثبت نام کاربران جدید جلوگیری می کند.
- ابتدا در دایرکتوری خانه با دستور گرانا فایلی به نام:
mkdir grafana
- سپس فایلی به نام config.monitoring را وارد کنید:
nano config.monitoring
- خطوط زیر به فایل باز شده اضافه شده و ذخیره و خارج می شوند:
2.2 Docker Compose: docker-compose.yml
- ابتدا به فهرست اصلی می رویم:
cd ..
- سپس فایل docker-compose.yml را وارد می کنیم:
nano docker-compose.yml
- خطوط و مسیرهای مورد نیاز برای Grafana را اضافه می کنیم، سپس ذخیره می کنیم و از آن خارج می شویم:
grafana:
image: grafana/grafana
user: "472"
depends_on:
- prometheus
ports:
- 3000:3000
volumes:
- grafana_data:/var/lib/grafana
- ./grafana/provisioning/:/etc/grafana/provisioning/
env_file:
- ./grafana/config.monitoring
networks:
- back-tier
- front-tier
restart: always
فایل docker-compose دایرکتوری محلی /grafana/provisioning را در پوشه /etc/grafana/provising کانتینر Grafana قرار می دهد.
2.3 پیکربندی منبع داده: grafana/provisioning/datasources/datasource.yml
cd grafana
mkdir -p provisioning/datasources
- سپس فایل /grafana/provisioning/datasources/datasource.yml را با دستور زیر وارد کنید:
nano /grafana/provisioning/datasources/datasource.yml
- اطلاعات زیر در فایل وارد شده، ذخیره و خارج می شود:
# config file version
apiVersion: 1
# list of datasources that should be deleted from the database
deleteDatasources:
- name: Prometheus
orgId: 1
# list of datasources to insert/update depending
# whats available in the database
datasources:
# <string, required> name of the datasource. Required
- name: Prometheus
# <string, required> datasource type. Required
type: prometheus
# <string, required> access mode. direct or proxy. Required
access: proxy
# <int> org id. will default to orgId 1 if not specified
orgId: 1
# <string> url
url: http://prometheus:9090
# <string> database password, if used
password:
# <string> database user, if used
user:
# <string> database name, if used
database:
# <bool> enable/disable basic auth
basicAuth: false
# <string> basic auth username, if used
basicAuthUser:
# <string> basic auth password, if used
basicAuthPassword:
# <bool> enable/disable with credentials headers
withCredentials:
# <bool> mark as default datasource. Max one per org
isDefault: true
# <map> fields that will be converted to json and stored in json_data
jsonData:
graphiteVersion: "1.1"
tlsAuth: false
tlsAuthWithCACert: false
# <string> json object of data that will be encrypted.
secureJsonData:
tlsCACert: "..."
tlsClientCert: "..."
tlsClientKey: "..."
version: 1
# <bool> allow users to edit datasources from the UI.
editable: true
2.4 پیکربندی داشبورد: grafana/provisioning/dashboards/dashboard.yml
-
وقتی منبع داده در دسترس باشد، داشبوردها قابل ارائه هستند.
-
Grafana می تواند بدون هیچ فایل پیکربندی اجرا شود. با این حال، grafana/provisioning/datasources/datasource.yml برای پیکربندی Prometheus به عنوان منبع داده ایجاد شده است.
-
به دایرکتوری grafana بروید و فایل _dasboards را ایجاد کنید:
cd grafana
mkdir provisioning/dashboards
- سپس با دستور زیر فایل /grafana/provisioning/dashboards/dashboard.yml را وارد کنید:
nano /grafana/provisioning/dashboards/dashboard.yml
-
در این فایل کانفیگ، مسیر داشبوردهایی که برای وارد کردن استفاده میشوند را نشان میدهیم.
-
اطلاعات زیر در فایل وارد شده، ذخیره و خارج می شود:
apiVersion: 1
providers:
- name: 'Prometheus'
orgId: 1
folder: ''
type: file
disableDeletion: false
editable: true
options:
path: /etc/grafana/provisioning/dashboards
3. Grafana را راه اندازی کنید
- در نهایت، docker-compose از کار افتاده است زیرا تغییراتی در فایلها وجود دارد:
docker-compose down
- دوباره بالا است و مشاهده می شود که گرافانا نیز بالا است:
docker-compose up -d
- سپس “http://IP:3000” را در مرورگر وارد کنید و به رابط Grafana دسترسی پیدا کنید:
IP دستگاه نصب شده در گرافانا را وارد کنید.
نام کاربری = مدیر
رمز عبور = فوبار (رمز عبور/grafana/config.monitoring
فایل env)
- پس از وارد کردن نام کاربری و رمز عبور، ورود با موفقیت انجام می شود:
- به عنوان مثال مسیر “http://IP:3000/dashboard” در مرورگر وارد شده و صفحه نمایش داده می شود. داشبورد جدید با کلیک بر روی دکمه، Prometheus به عنوان منبع داده انتخاب می شود. سپس معیارهای SNMP انتخاب و تجسم می شوند:
- در سمت چپ بالای صفحه قرار دارد درخواست دادن دکمه کلیک می شود و داشبورد اضافه می شود: