Blog

  • influxdb_client

    influxDB에 파이썬의 influxdb_client를 이용해서 자료를 입력하고, 읽어 오고 있다.

    특정 값이 일정 범위를 벗어나면 알람을 보내도록 하고 싶었다. 그래서 테스트를 위해 과도한 값을 넣었다. 알람이 발송되면 이 자료를 삭제하고 싶었다.

    우선 자료를 삭제하는 방법은 다음과 같이 하면 된다. 예를 들어 3시간 이내의 자료 중에서 class=”cool”가 지정된 자료를 다음과 같이 실행하면 된다.

    import influxdb_client
    import datetime
    
    client = influxdb_client.InfluxDBClient(url=url, token=token, org=org)
    delete_api = client.delete_api()
    
    stop = datetime.datetime.utcnow()
    start = stop - datetime.timedelta(hours=3)
    
    start_iso = start.strftime("%Y-%m-%dT%H:%M:%SZ")
    stop_iso = stop.strftime("%Y-%m-%dT%H:%M:%SZ")
    
    delete_api.delete(
    start_iso,
    stop_iso,
    predicate='class = "cool"',
    bucket=bucket,
    org=org
    )

    비정상 값을 삭제하기 위하여 _value에 부등호나 등호를 사용하여 보았다. 그런데 자꾸 오류가 났다. 코파일럿과 함께 오류를 찾아 보았다. 검색을 한 결과 원래부터 안된다는 것을 알게 되었다.

    즉, _time과 _value를 기준으로 하는 값은 할 수 없다는 것이다.

    감시 프로그램의 설정을 확인하기 위해서 비정상 값을 입력할 때에 별도의 tag나 field 값을 더 입력해야, 나중에 이 값만 삭제를 할 수 있을 것이다.

    그래서 별도의 tag를 지정해서 비정상 값을 입력했다. 그런데 이번에는 Grafana에서 별도의 자료로 분리되어 보이는 것이었다.

    이럴 때는 group 를 이용해서 동일한 센서에서 입력된 값을 묶어준다.

    |> group(columns: ["_measurement", "device"], mode: "by")
  • bash completion

    sudo apt install bash-completion

    Bash를 사용하는 일부 리눅스에서는 Tab을 누르면 자동 완성 기능이 있다. 어떤 시스템에서는 없다. 그래서 코파일럿에게 물어 봤더니 위의 프로그램을 설치하라고 한다.

  • sudo: do-release-upgrade: command not found

    Ubuntu 에서 do-release-upgrade를 실행할 수 없을 때

    sudo apt install update-manager-core
  • 천녀유혼

    • 선정적 장면들이 조금 있다.
    • 중간에 몇몇 번역이 안된 자막이 매우 아쉬웠음
    • 오래된 기억에 엄청난 혓바닥이 있는 영화가 있었다. 아마 이 영화인 것 같다.
    • 가장 우측의 사람은 초반에 너무 쉽게 죽어버린다.
    • 우측 2번째의 숨겨진 과거