Ich bin Anfänger und komme bei diesem Thema überhaupt nicht weiter. Ich habe viele verschiedene Lösungen ausprobiert, aber noch keine gefunden, die funktioniert. Können Sie mir helfen? :)
Ich habe eine Ubuntu 12.04 VM mit Vagrant auf VirtualBox erstellt und einen Datadog-Agenten darauf installiert. Anschließend habe ich ein Datadog-API-Skript erstellt, um eine Zeitleiste mit verschiedenen Diagrammen zu erstellen. Ich versuche, das Python-Skript auszuführen, erhalte aber jedes Mal eine Warnung und keine Ergebnisse. Wie Sie hier sehen können:https://docs.datadoghq.com/api/?lang=python#create-a-timeboard Ich sollte die Zeitleiste in meinem Datadog-Dashboard sehen können, aber sie wird nicht angezeigt.
Hier ist das Skript, das ich in /home/datadog erstellt habe:
#!/usr/bin/env python
from datadog import initialize, api
options = {
'api_key': 'MYAPIKEY',
'app_key': 'MYAPPKEY'
}
initialize(**options)
title = "Visualizing Data for Barbosa"
description = "Timeboard using Datadog's API"
graphs = [
{
"definition": {
"events": [],
"requests": [
{"q": "my_metric{host:precise64}"}
],
"viz": "timeseries"
},
"title": "My metric scoped over my host"
},
{
"definition": {
"events": [],
"requests": [
{"q": "anomalies(avg:mysql.performance.cpu_time{host:precise64}, 'robust', 2)"}
],
"viz": "timeseries"
},
"title": "Anomalies on MySQL for CPU time"
},
{
"definition": {
"events": [],
"requests": [
{"q": "avg:ùy_metric{host:precise64}.rollup(sum, 3600)"}
],
"viz": "timeseries"
},
"title": "Rollup for My metric over the past hour"
}]
read_only = True
api.Timeboard.create(title=title,
description=description,
graphs=graphs,
read_only=read_only)
Und wenn ich das Skript ausführe, /home/datadog$ ./timeboard.py
erhalte ich Folgendes:
/usr/local/lib/python2.7/dist-packages/urllib3/util/ssl_.py:339:
SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name
Indication) extension to TLS is not available on this platform. This may
cause the server to present an incorrect TLS certificate, which can cause
validation failures. You can upgrade to a newer version of Python to solve
this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-
usage.html#ssl-warnings.
SNIMissingWarning
/usr/local/lib/python2.7/dist-packages/urllib3/util/ssl_.py:137:
InsecurePlatformWarning: A true SSLContext object is not available. This
prevents urllib3 from configuring SSL appropriately and may cause certain
SSL connections to fail. You can upgrade to a newer version of Python to
solve this. For more information, see
https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings.
InsecurePlatformWarning
Ich habe versucht, Python zu aktualisieren, aber wenn ich den Code mit Python 3 ausführe, erkennt es das Datadog-Python-Paket nicht mehr (https://github.com/DataDog/datadogpy) und ich weiß nicht, wie ich es von Python 2.7 verschieben kann oder ob das Löschen von Python 2.7 große Probleme in meinem Code/Skript verursachen wird. Ich bin ein Anfänger, also entschuldigen Sie, wenn das verwirrend ist!
Ich habe auch versucht,https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warningsaber leider funktioniert der Importbefehl auch nicht. Muss eine bestimmte Software/ein bestimmtes Paket installiert werden, damit es funktioniert?
Was mache ich falsch? Danke!
Antwort1
Die Antwort bestand darin, die Warnungen zu entfernen, indem import... direkt im Python-Skript hinzugefügt wurde, wie indiese Antwort auf stackoverflow.com.