friendlyFriend4000 / prometheus-immich-exporter

A prometheus exporter for immich written in Python. Docker image
https://github.com/immich-app/immich#demo
GNU General Public License v3.0
19 stars 9 forks source link

Breaking Change with v1.117.0 #17

Closed dwhitnall closed 3 days ago

dwhitnall commented 1 week ago

With the latest version of Immich the API has changed location from "/api/server-info/statistics" to "/api/server/statistics" As a result the container continues restarting as it can't get to the endpoint.

Exporter is starting up | asctime=2024-10-13 08:27:09 levelname=INFO taskName=null

Found immich up and running at immich-server:2283. | asctime=2024-10-13 08:27:09 levelname=INFO taskName=null

Attempting to connect to immich | asctime=2024-10-13 08:27:09 levelname=INFO taskName=null

Exporter 1.2.1 | asctime=2024-10-13 08:27:10 levelname=INFO taskName=null

Success. | asctime=2024-10-13 08:27:10 levelname=INFO taskName=null

Requested the metrics | asctime=2024-10-13 08:27:10 levelname=INFO taskName=null

Traceback (most recent call last):

File "/usr/bin/immich_exporter", line 8, in

sys.exit(main())

         ^^^^^^

File "/usr/lib/python3.12/site-packages/immich_exporter/exporter.py", line 388, in main

REGISTRY.register(ImmichMetricsCollector(config))

File "/usr/lib/python3.12/site-packages/prometheus_client/registry.py", line 40, in register

names = self._get_names(collector)

        ^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/usr/lib/python3.12/site-packages/prometheus_client/registry.py", line 80, in _get_names

for metric in desc_func():

File "/usr/lib/python3.12/site-packages/immich_exporter/exporter.py", line 38, in collect

metrics = self.get_immich_metrics()

          ^^^^^^^^^^^^^^^^^^^^^^^^^

File "/usr/lib/python3.12/site-packages/immich_exporter/exporter.py", line 57, in get_immich_metrics

metrics.extend(self.get_immich_server_version_number())

               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/usr/lib/python3.12/site-packages/immich_exporter/exporter.py", line 186, in get_immich_server_version_number

str(response["major"]) + "." + str(response["minor"]) + "." + str(response["patch"])

    ~~~~~~~~^^^^^^^^^

KeyError: 'major'

MaxenceG2M commented 5 days ago

Should be fixed with PR #19

friendlyFriend4000 commented 3 days ago

should be working with 1.118.2 now. thanks