grafana / oncall

Developer-friendly incident response with brilliant Slack integration
GNU Affero General Public License v3.0
3.49k stars 288 forks source link

jsonData.stackid v1.9.1 Issues #4843

Open HenilJainIO opened 2 months ago

HenilJainIO commented 2 months ago

What went wrong?

I cloned the new docker-compose to run grafana oncall. On enabling the plugin, it gives me this error. Screenshot 2024-08-17 at 19 12 25

How do we reproduce it?

  1. Open Grafana OnCall Plugin UI
  2. Enable the oncall plugin
  3. It gives me this jsonData.stackid

Grafana OnCall Version

v1.9.1

Product Area

Alert Flow & Configuration

Grafana OnCall Platform?

Docker

User's Browser?

No response

Anything else to add?

No response

VermiumSifell commented 2 months ago

Same issue for me

VermiumSifell commented 2 months ago

As a workaround @HenilJainIO

      GF_INSTALL_PLUGINS: "grafana-oncall-app vv1.9.0"

Specify version like this (yes double vv due to some stupid reason I don't know of)

HenilJainIO commented 2 months ago

Thank you soo much @VermiumSifell The vv worked!

I wasted hours trying different things

VermiumSifell commented 2 months ago

Hopefully the software works for your usecase, it seems quite confusing to manage

drkthunder02 commented 2 months ago

I am not using the docker containers and I get this error as well. Have already spent hours trying different things, but if I do figure something out, I will post it here as well. Can't get the plugins file under provisioning to work either as I don't know where to get the stackId value from.

vjm commented 2 months ago

I am also having this issue with v1.9.6 today.

Downgrading to v1.9.0 gave me a different problem that I was not able to resolve.

Any suggestions on what to do here?

Deployed grafana bitnami helm chart in k8s, version: 11.3.8 grafana oncall helm chart version: 1.7.2

drkthunder02 commented 2 months ago

I have figured out there is a yaml file buried in the documentation that is an example file with like stackId: 5 as a parameter. I utilized that in the provisioning plugins in file. But before I provisioned the plugin, I built the backend server, as its not well documented in my opinion, but the backend server from what I can tell needs to be running first. Without the backend server, the plugin is useless. Therefore, I got the backend server running first, then setup the plugin. After getting both done it just worked.

Granted, I scrapped adding OnCall to my project as the feature I wanted is only available in a cloud environment, which I am not able to utilize for reasons I don't want to delve into here.

vjm commented 2 months ago

@drkthunder02 thanks for the reply -- are you saying that it's not possible to use this unless you use grafana's cloud environment?

Edit: it seems you're saying that you want to use a specific feature that is not available except in the cloud environment.

let me know if you have an example of how you set up provisioning to get it to work!

bck01215 commented 2 months ago

Setting the env var GF_INSTALL_PLUGINS="grafana-oncall-app vv1.9.0" and then upgrading worked for me.

drkthunder02 commented 2 months ago

Where does that environment variable live at?

On Wed, Aug 21, 2024 at 8:06 AM Brandon Kauffman @.***> wrote:

Setting the env var GF_INSTALL_PLUGINS="grafana-oncall-app vv1.9.0" and then upgrading worked for me.

— Reply to this email directly, view it on GitHub https://github.com/grafana/oncall/issues/4843#issuecomment-2302012438, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB5HABVNNAU65MJGJ4PLZQ3ZSSGGVAVCNFSM6AAAAABMVOBCNGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMBSGAYTENBTHA . You are receiving this because you were mentioned.Message ID: @.***>

-- Chris Mancuso

When you eliminate the impossible, whatever remains, however improbable, must be the truth. -- Spock

bck01215 commented 2 months ago

Where does that environment variable live at?

It's on the grafana instance, not the on call engine

congbang-le commented 2 months ago

+1. I got the same issue. In my case, I installed OnCall backend to existing K8s cluster which already have Grafana installed. Then I installed Grafana OnCall Plugin via dashboard and got the stackId issue. Grafana OnCall Version: v1.9.12 Grafana dashboard version: 10.4.3

Log of oncall-engine for the error:

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py", line 220, in _get_response
    response = response.render()
               ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/django/template/response.py", line 114, in render
    self.content = self.rendered_content
                   ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/rest_framework/response.py", line 74, in rendered_content
    ret = renderer.render(self.data, accepted_media_type, context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/rest_framework/renderers.py", line 100, in render
    ret = json.dumps(
          ^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/rest_framework/utils/json.py", line 25, in dumps
    return json.dumps(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/json/__init__.py", line 238, in dumps
    **kw).encode(obj)
          ^^^^^^^^^^^
  File "/usr/local/lib/python3.12/json/encoder.py", line 200, in encode
    chunks = self.iterencode(o, _one_shot=True)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/json/encoder.py", line 258, in iterencode
    return _iterencode(o, 0)
           ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/rest_framework/utils/encoders.py", line 67, in default
    return super().default(obj)
           ^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/json/encoder.py", line 180, in default
    raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type OnCallError is not JSON serializable
vashishkov commented 2 months ago

same on v1.9.16

chrisngene commented 2 months ago

Thanks all for the help, yes installing the older version first and then upgrading worked for me @VermiumSifell

However I also found another work around for someone who wants options and is using postgres. I Noticed the column json_data on table pluggin_settings had the data below and I believe this was causing the error {"onCallApiUrl":"http://engine:8080"}

If you build with the suggested idea of first using old version and then update, i noticed the update process populates the data below which i believe is what that is missing and hence causing the sonData.stackid Issues

{"grafanaUrl":"https://GF-IP:3000/","license":"OpenSource","onCallApiUrl":"http://engine:8080","orgId":100,"stackId":5}

so i noticed, you can go straight to install the current version and then manually edit that column with the above data, replace with your server.

they should resolve this, seems something small

mderynck commented 1 month ago

Recently we made some changes to the way Grafana OnCall is initialized. Use 1.9.22, there were quite a few changes along the way from 1.9.0-1.9.22 to get things working.

joeyorlando commented 1 month ago

regarding those needing to specify vvX.Y.Z, this should now be patched in v1.9.27 (via https://github.com/grafana/oncall/pull/5051)

senpro-ingwersenk commented 4 weeks ago

Managed to get it solved with:

This change was nowhere in the changelogs and I read those every time I update... unless I overlooked it, but I am quite positive. Also I was upgrading from 1.9.20 to 1.10.1.

I would suggest adding it to the README under the Troubbleshooting section; this easily just cost me two hours... x)

c13 commented 1 week ago

Same Grafana OSS v11.2.1 (6291d0d714) installed with prometheus-stack helmchart 65.1.1 Grafana OnCall v1.11.1

Reinstalling and upgrading the plugin didn't help