غير مصنف
أخر الأخبار

تابع وراقب اداء سيارتك الكهربائية باستخدام Grafana Cloud



كان أحد الأسباب الرئيسية للانضمام إلى Grafana Labs هو النطاق الواسع لحالات الاستخدام والأهداف التي يمكن أن تحلها Grafana. لا يمكنك فقط استخدام التكنولوجيا لمراقبة بيئة Kubernetes أو عرض المقاييس من بروميثيوس ، والآثار من Jaeger ، والسجلات من Elasticsearch كلها في عرض واحد ، ولكن يمكنها أيضًا المساعدة في الحفاظ على مستعمرة خلية النحل بصحة جيدة أو تشغيل Doom . من خلال تبني فلسفة Big Tent التي تعيش بها Grafana (والتي ألهمت أيضًا عنوان البودكاست الجديد الخاص بنا ) ، فإن الاحتمالات لا حصر لها.

وكان هذا هو الإلهام لنشر هذه المقالة في موقع SubNology.uk.

لسنوات ، كنت أرغب في امتلاك سيارة تسلا. الابتكار والتكنولوجيا اللذان يجسدان العلامة التجارية أمر مذهل لطالما أثار اهتمامي. لحسن الحظ ، في الصيف الماضي ، خلال أكثر أسواق السيارات سخونة في العالم ، تعثرت في طريقي إلى طراز تسلا 3. كانت تجربتي معها ممتعة وسريعة وغبية (حيث أتساءل لماذا اشتريت سيارة تسمح لي بتمكينها).

تسلا موديل 3

تقدم سريعًا إلى شهر مارس من هذا العام ، عندما انضممت إلى Grafana كمهندس حلول أول. كنت حريصًا على التعرف على Grafana بشكل أفضل ، وبعد أن رأيت أن Tesla APIs كانت متاحة للاستخدام ، شعرت أنها فرصة تعليمية جيدة. بالإضافة إلى ذلك ، اعتقدت أنه سيكون من الممتع إلقاء نظرة على جميع رؤى الاستخدام الرائعة التي يمكنني جمعها ، بدءًا من فهم ما إذا نجحت تحديثاتي عبر الهواء (OTA) ، إلى تتبع حالة الشحن الخاصة بي ، وكم عدد الأميال التي أمتلكها قيادتي في الشهر الماضي ، إذا تركت بابًا مفتوحًا ، والمزيد.

الآن أود أن أشارك تجربتي مع أي سائق Tesla حالي أو مستقبلي. 

(للحصول على نظرة أخرى حول تحليل بيانات السيارة الكهربائية باستخدام Grafana ، تحقق مما فعله Ed Welch بسيارته Nissan Leaf .)

ماذا ستحتاج

  • Raspberry Pi 3 أو أعلى (قمت بتشغيل خاصتي على 3 مع ذاكرة 1 جيجابايت فقط ولم أواجه أي مشكلة ؛ يوصى بتخزين 32 جيجابايت +) والمكونات اللازمة للتفاعل واستخدام Pi ، مثل الماوس / لوحة المفاتيح / إلخ. 
  • تم تحميل البرنامج وجاهز للاستخدام:
    • تم تثبيت نظام Raspberry Pi OS
    • شخص سخيف
    • ./setup.sh
    • wget
  • ا تسلا
  • حساب واشتراك Teslafi

زائد:

الخطوة 1: قم بتثبيت Grafana و Prometheus على Grafana Cloud

أولاً ، ستحتاج إلى إنشاء حساب على Grafana Cloud حتى تتمكن من تصور بيانات Tesla الخاصة بك. (إذا كان لديك حساب بالفعل ، فيمكنك تخطي هذه الخطوة. إذا لم يكن لديك حساب ، فقم بالتسجيل مجانًا هنا .)

بمجرد تشغيل Prometheus و Grafana في Grafana Cloud ، يمكنك التركيز على إعداد Raspberry Pi وجمع البيانات من Teslafi.

الخطوة 2: قم بتثبيت Prometheus محليًا على Raspberry Pi

كما ترى في الرسم التخطيطي للهندسة المعمارية أدناه ، فأنت بحاجة إلى مثيل من بروميثيوس يعمل أيضًا على Pi. بمجرد وصول بياناتك إلى المثيل المحلي ، ستقوم بعد ذلك بكتابتها عن بُعد إلى مثيل Prometheus الأكبر والمتوفر بدرجة عالية والأكثر استقرارًا في Grafana Cloud.

<هندسة الإعداد>

للبدء ، ستحتاج إلى وصول سطر الأوامر إلى Pi عبر ssh أو مباشرة. لا أمتلك لوحة مفاتيح سلكية وشاشة خارجية للاستخدام مع Pi الخاص بي ، لذلك قمت بإعداد وصول ssh إلى Pi الخاص بي من خلال إعداد بدون رأس. لقد استخدمت هذه المدونة لتشغيل ذلك.

لتثبيت Prometheus ، يمكنك الحصول عليه مباشرة من الموقع الرسمي . تأكد من تنزيل إصدار متوافق لـ Pi الخاص بك. المنجم هو نموذج أقدم من 32 بت ، لذلك قمت بتثبيت armv7. هذا دليل مفيد ستستند إليه الخطوات القليلة التالية.

إبتدئ ب:

sudo apt-get update
wget 
https://github.com/prometheus/prometheus/releases/download/v2.34.0/prometheus-2.34.0.linux-armv7.tar.gz

بعد ذلك ، قم بفك الضغط:

tar -xzvf prometheus-2.34.0.linux-armv7.tar.gz

أعد تسمية الملف:

 mv prometheus-2.34.0.linux-armv7/ prometheus/

mv prometheus-2.34.0.linux-armv7/ prometheus/

sudo vi /etc/systemd/system/prometheus.service

أدخل ما يلي في الملف:

[Unit]
Description=Prometheus Server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network-online.target

[Service]
User=pi
Restart=on-failure

ExecStart=/home/pi/prometheus/prometheus \
  --config.file=/home/pi/prometheus/prometheus.yml \
  --storage.tsdb.path=/home/pi/prometheus/data

[Install]
WantedBy=multi-user.target

احفظ الملف باستخدام esc، ثم اكتب:wq!

الآن يمكنك تمكين خدمتك.

sudo systemctl enable prometheus

ثم ابدأ بروميثيوس.

sudo systemctl start prometheus

تحقق لمعرفة ما إذا كان بروميثيوس يعمل مع:

sudo systemctl status prometheus

يجب أن ترى مخرجات مشابهة لهذا:

مثال الإخراج

يجب أن تكون قادرًا أيضًا على رؤية أن بروميثيوس يعمل من خلال التوجه إلى واجهة مستخدم الويب الخاصة به على المنفذ 9090 أو: your_pi_IP_address: 9090.

يمكنك إيقاف هذا الإخراج عن طريق إدخال CTRL + C

والآن يمكنك إيقاف بروميثيوس للحظة.

sudo systemctl stop prometheus

الخطوة 3: إعداد teslafi_exporter

قم بإنشاء دليل لـ teslafi:

mkdir teslafi
cd teslafi

ثم استنساخ teslafi_exporter repo:

git clone https://github.com/neredera/teslafi_exporter.git

بعد ذلك ، ستحتاج إلى التوجه إلى Teslafi للحصول على رمز API الخاص بك. على الرغم من وجود طرق للوصول إلى واجهات برمجة تطبيقات Tesla مباشرة ، إلا أن استخدام Teslafi كان نهجًا أسهل.

يمكنك الوصول إلى موقع Teslafi API هنا بعد تسجيل الدخول. ستحتاج إلى إنشاء رمز مميز إذا لم يكن قد تم إنشاؤه بالفعل ، ثم نسخ رقم / سلسلة الأحرف الحالية ، وليس الرابط بأكمله أو أي شيء آخر في الصفحة . (واحد هنا للإشارة فقط.)

مثال على الرمز المميز الحالي

عد إلى سطر الأوامر ، وانتقل إلى teslafi_exporter.serviceالملف.

cd teslafi
cd teslafi_exporter
vi teslafi_exporter.service

هناك ثلاثة أقسام في ملف teslafi_exporter.service تحتاج إلى تعديلها: مواقع مسار الملف في كل من WorkingDirectoryو ExecStartوالرمز الذي حصلت عليه للتو من Teslafi. الصقها في enter_token_hereالموقع. يجب أن يبدو التكوين الخاص بك شيئًا مثل هذا (مع إدراج الرمز المميز الخاص بك):

[Unit]
Description=Prometheus exporter for TeslaFi
After=multi-user.target

[Service]
Type=simple
User=teslafi_exporter
WorkingDirectory=/home/pi/teslafi/teslafi_exporter
ExecStart=/home/pi/teslafi/teslafi_exporter/exporter.py --teslafi_api_token enter_token_here
StandardInput=tty-force

[Install]
WantedBy=multi-user.target

احفظ الملف باستخدام:

Escوثم:wq!

الخطوة 4: تكوين prometheus.yml

التكوين النهائي الذي تحتاج إلى العمل عليه هو ملفك Prometheus.yml. يمكن العثور على هذا في prometheusالدليل.

في ملف .yml هذا ، ستحتاج إلى إضافة موقع كشط مستهدف وقسم للكتابة عن بُعد يسمح لك بإرسال البيانات إلى مثيل Grafana Cloud Prometheus.

سيبدو التكوين النهائي كما يلي:

vi prometheus.yml
global:
  scrape_interval: 120s
  evaluation_interval: 120s


scrape_configs:

  - job_name: teslafi
    static_configs:
    - targets: ['your_raspberrypi_ip:9998']

remote_write:
- url: https://your_prometheus_url_here
  basic_auth:
    username: your_username_here
    password: your_password_here

من أجل الحصول على عنوان url واسم المستخدم وكلمة المرور لقسم الكتابة عن بُعد ، انتقل إلى منطقة إدارة السحابة الخاصة بك والتي يمكن العثور عليها على https://grafana.com/orgs/your_org_name_here

بوابة Grafana Cloud

انقر فوق بروميثيوس -> التفاصيل

انسخ نقطة نهاية الكتابة عن بُعد وأدخلها في قسم عنوان url في تهيئة ملف prometheus.yml .

انسخ اسم المستخدم / معرف المثيل وأدخله في قسم اسم المستخدم في التكوين الخاص بك.

ضمن كلمة المرور / مفتاح API في صفحة Cloud Admin ، انقر على الرابط الأزرق “إنشاء الآن”. امنح مفتاح API الخاص بك اسمًا ووصول المسؤول . ثم انسخ مفتاح API ، وأدخله في قسم كلمة المرور في التكوين.

الآن يمكنك حفظ التكوين الخاص بك مع escوبعد ذلك:wq! 

وقد انتهيت من إعداد التكوين!

الخطوة 5: ابدأ مثيلاتك

في هذه المرحلة ، يجب أن تكون قادرًا على تصور بياناتك في Grafana بعد بدء جميع خدماتك.

أولاً ، انتقل إلى prometheusالدليل وابدأ بروميثيوس بـ:

sudo systemctl start prometheus

للتحقق مما إذا كان قد بدأ ، يمكنك الإرسال:

sudo systemctl status prometheus

يجب أن ترى نفس الاستجابة النشطة التي رأيتها عندما فعلت ذلك سابقًا.

بعد ذلك ، ابدأ teslafi_exporter. انتقل إلى teslafi_exporterالدليل.

قم بتغيير أذونات setup.shالملف باستخدام:

chmod +x setup.sh

ثم ابدأ المُصدر بـ:

sudo ./setup.sh

تأكد من أن المُصدر نشط وقيد التشغيل.

sudo systemctl status teslafi_exporter.service

انتقل إلى Grafana ، وتوجه إلى Explore ، وحدد مصدر بيانات grafanacloud-yourorgname-prom . افتح مستكشف المقاييس ، ويجب أن ترى الآن البيانات مع تسميات teslafi المتاحة للاستخدام.

تسميات Teslafi

تهاني! يتم الآن كشط بيانات Teslafi ويمكن استخدامها داخل عمليات نشر Grafana Cloud و Prometheus.

المزيد قادم

إذن ما الذي يمكنك تخيله بكل البيانات؟ أنا أعمل على مدونة أخرى تركز على التحكم في بعض هذه الإمكانية. ها هي نظرة خاطفة!

لوحة عدادات Grafana تراقب سيارة تسلا


اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى