Datadog API를 사용하여 Python 스크립트를 실행할 때 SNI 경고 누락

Datadog API를 사용하여 Python 스크립트를 실행할 때 SNI 경고 누락

나는 초보자이고 이것에 완전히 붙어 있습니다. 다양한 솔루션을 시도했지만 아직 작동하는 솔루션을 찾지 못했습니다. 도와주실 수 있나요? :)

VirtualBox에서 Vagrant를 사용하여 Ubuntu 12.04 VM을 만들고 여기에 Datadog 에이전트를 설치했습니다. 그런 다음 Datadog API 스크립트를 만들어 다양한 그래프가 포함된 타임보드를 만들었습니다. Python 스크립트를 실행하려고 하는데 매번 경고가 표시되고 결과가 없습니다. 여기에서 볼 수 있듯이:https://docs.datadoghq.com/api/?lang=python#create-a-timeboard Datadog 대시보드에서 타임보드를 볼 수 있어야 하는데 표시되지 않습니다.

다음은 /home/datadog에 생성한 스크립트입니다.

#!/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)

그리고 다음을 사용하여 스크립트를 실행하면 /home/datadog$ ./timeboard.py다음과 같은 결과가 나타납니다.

/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

Python 업그레이드를 시도했지만 Python 3으로 코드를 실행하면 더 이상 Datadog Python 패키지를 인식하지 못합니다(https://github.com/DataDog/datadogpy) Python 2.7에서 이동하는 방법을 모르겠습니다. 또는 Python 2.7을 삭제하면 내 코드/스크립트에 큰 문제가 발생할 수 있습니다. 저는 초보자라서 헷갈리셨다면 죄송합니다!

나는 또한 다음을 시도했다https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings하지만 불행하게도 가져오기 명령도 작동하지 않습니다. 작동하도록 설치해야 하는 특정 소프트웨어/패키지가 있습니까?

내가 도대체 ​​뭘 잘못하고있는 겁니까? 감사해요!

답변1

대답은 다음에 설명된 대로 Python 스크립트에 직접 import...를 추가하여 경고를 제거하는 것이었습니다.stackoverflow.com에 있는 이 답변.

관련 정보