Metadata-Version: 2.1
Name: sentry-notice
Version: 1.0.1
Summary: sentry 接入dingTalk 告警
Home-page: https://github.com/spxinjie6/sentry-notice.git
Author: spxinjie6
Author-email: 1311855817@qq.com
License: MIT
Description: # sentry-notice
        sentry 接入dingding 告警
        
        ### 安装sentry
        > 下载sentry, 使用docker-compose 安装
        > 注: 每个sentry 版本，都有支持的docker 及 docker-compose 版本
        > pip install sentry 会有依赖不能下载
        > 使用下载的sentry 镜像作为虚拟环境
        > main.py 及 Dockerfile 只是为了查看源码
        
        ### 发送告警
        ```
        {
            "event_id": "5a552273622c4d949495df39b7b063c8",
            "level": "error",
            "version": "5",
            "type": "default",
            "logentry": {
                "formatted": "This is an example Python exception"
            },
            "logger": "",
            "modules": {
                "my.package": "1.0.0"
            },
            "platform": "python",
            "timestamp": 1640577300.559,
            "received": 1640577360.560556,
            "environment": "prod",
            "user": {
                "id": "1",
                "email": "sentry@example.com",
                "ip_address": "127.0.0.1",
                "username": "sentry",
                "name": "Sentry",
                "geo": {
                    "country_code": "GB",
                    "city": "London",
                    "region": "H9"
                }
            },
            "request": {
                "url": "http://example.com/foo",
                "method": "GET",
                "data": {
                    "hello": "world"
                },
                "query_string": [
                    [
                        "foo",
                        "bar"
                    ]
                ],
                "cookies": [
                    [
                        "foo",
                        "bar"
                    ],
                    [
                        "biz",
                        "baz"
                    ]
                ],
                "headers": [
                    [
                        "Content-Type",
                        "application/json"
                    ],
                    [
                        "Referer",
                        "http://example.com"
                    ],
                    [
                        "User-Agent",
                        "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36"
                    ]
                ],
                "env": {
                    "ENV": "prod"
                },
                "inferred_content_type": "application/json"
            },
            "contexts": {
                "browser": {
                    "name": "Chrome",
                    "version": "28.0.1500",
                    "type": "browser"
                },
                "client_os": {
                    "name": "Windows",
                    "version": "8",
                    "type": "os"
                }
            },
            "stacktrace": {
                "frames": [
                    {
                        "function": "build_msg",
                        "module": "raven.base",
                        "filename": "raven/base.py",
                        "abs_path": "/home/ubuntu/.virtualenvs/getsentry/src/raven/raven/base.py",
                        "lineno": 303,
                        "pre_context": [
                            "                frames = stack",
                            "",
                            "            data.update({",
                            "                'sentry.interfaces.Stacktrace': {",
                            "                    'frames': get_stack_info(frames,"
                        ],
                        "context_line": "                        transformer=self.transform)",
                        "post_context": [
                            "                },",
                            "            })",
                            "",
                            "        if 'sentry.interfaces.Stacktrace' in data:",
                            "            if self.include_paths:"
                        ],
                        "in_app": false,
                        "vars": {
                            "'culprit'": null,
                            "'data'": {
                                "'message'": "u'This is a test message generated using ``raven test``'",
                                "'sentry.interfaces.Message'": {
                                    "'message'": "u'This is a test message generated using ``raven test``'",
                                    "'params'": []
                                }
                            },
                            "'date'": "datetime.datetime(2013, 8, 13, 3, 8, 24, 880386)",
                            "'event_id'": "'54a322436e1b47b88e239b78998ae742'",
                            "'event_type'": "'raven.events.Message'",
                            "'extra'": {
                                "'go_deeper'": [
                                    [
                                        "{\"'bar'\":[\"'baz'\"],\"'foo'\":\"'bar'\"}"
                                    ]
                                ],
                                "'loadavg'": [
                                    0.37255859375,
                                    0.5341796875,
                                    0.62939453125
                                ],
                                "'user'": "'dcramer'"
                            },
                            "'frames'": "<generator object iter_stack_frames at 0x107bcc3c0>",
                            "'handler'": "<raven.events.Message object at 0x107bd0890>",
                            "'k'": "'sentry.interfaces.Message'",
                            "'kwargs'": {
                                "'level'": 20,
                                "'message'": "'This is a test message generated using ``raven test``'"
                            },
                            "'public_key'": null,
                            "'result'": {
                                "'message'": "u'This is a test message generated using ``raven test``'",
                                "'sentry.interfaces.Message'": {
                                    "'message'": "u'This is a test message generated using ``raven test``'",
                                    "'params'": []
                                }
                            },
                            "'self'": "<raven.base.Client object at 0x107bb8210>",
                            "'stack'": true,
                            "'tags'": null,
                            "'time_spent'": null,
                            "'v'": {
                                "'message'": "u'This is a test message generated using ``raven test``'",
                                "'params'": []
                            }
                        }
                    },
                    {
                        "function": "capture",
                        "module": "raven.base",
                        "filename": "raven/base.py",
                        "abs_path": "/home/ubuntu/.virtualenvs/getsentry/src/raven/raven/base.py",
                        "lineno": 459,
                        "pre_context": [
                            "        if not self.is_enabled():",
                            "            return",
                            "",
                            "        data = self.build_msg(",
                            "            event_type, data, date, time_spent, extra, stack, tags=tags,"
                        ],
                        "context_line": "            **kwargs)",
                        "post_context": [
                            "",
                            "        self.send(**data)",
                            "",
                            "        return (data.get('event_id'),)",
                            ""
                        ],
                        "in_app": false,
                        "vars": {
                            "'data'": null,
                            "'date'": null,
                            "'event_type'": "'raven.events.Message'",
                            "'extra'": {
                                "'go_deeper'": [
                                    [
                                        "{\"'bar'\":[\"'baz'\"],\"'foo'\":\"'bar'\"}"
                                    ]
                                ],
                                "'loadavg'": [
                                    0.37255859375,
                                    0.5341796875,
                                    0.62939453125
                                ],
                                "'user'": "'dcramer'"
                            },
                            "'kwargs'": {
                                "'level'": 20,
                                "'message'": "'This is a test message generated using ``raven test``'"
                            },
                            "'self'": "<raven.base.Client object at 0x107bb8210>",
                            "'stack'": true,
                            "'tags'": null,
                            "'time_spent'": null
                        }
                    },
                    {
                        "function": "captureMessage",
                        "module": "raven.base",
                        "filename": "raven/base.py",
                        "abs_path": "/home/ubuntu/.virtualenvs/getsentry/src/raven/raven/base.py",
                        "lineno": 577,
                        "pre_context": [
                            "        \"\"\"",
                            "        Creates an event from ``message``.",
                            "",
                            "        >>> client.captureMessage('My event just happened!')",
                            "        \"\"\""
                        ],
                        "context_line": "        return self.capture('raven.events.Message', message=message, **kwargs)",
                        "post_context": [
                            "",
                            "    def captureException(self, exc_info=None, **kwargs):",
                            "        \"\"\"",
                            "        Creates an event from an exception.",
                            ""
                        ],
                        "in_app": false,
                        "vars": {
                            "'kwargs'": {
                                "'data'": null,
                                "'extra'": {
                                    "'go_deeper'": [
                                        "[{\"'bar'\":[\"'baz'\"],\"'foo'\":\"'bar'\"}]"
                                    ],
                                    "'loadavg'": [
                                        0.37255859375,
                                        0.5341796875,
                                        0.62939453125
                                    ],
                                    "'user'": "'dcramer'"
                                },
                                "'level'": 20,
                                "'stack'": true,
                                "'tags'": null
                            },
                            "'message'": "'This is a test message generated using ``raven test``'",
                            "'self'": "<raven.base.Client object at 0x107bb8210>"
                        }
                    },
                    {
                        "function": "send_test_message",
                        "module": "raven.scripts.runner",
                        "filename": "raven/scripts/runner.py",
                        "abs_path": "/home/ubuntu/.virtualenvs/getsentry/src/raven/raven/scripts/runner.py",
                        "lineno": 77,
                        "pre_context": [
                            "        level=logging.INFO,",
                            "        stack=True,",
                            "        tags=options.get('tags', {}),",
                            "        extra={",
                            "            'user': get_uid(),"
                        ],
                        "context_line": "            'loadavg': get_loadavg(),",
                        "post_context": [
                            "        },",
                            "    ))",
                            "",
                            "    if client.state.did_fail():",
                            "        print('error!')"
                        ],
                        "in_app": false,
                        "vars": {
                            "'client'": "<raven.base.Client object at 0x107bb8210>",
                            "'data'": null,
                            "'k'": "'secret_key'",
                            "'options'": {
                                "'data'": null,
                                "'tags'": null
                            }
                        }
                    },
                    {
                        "function": "main",
                        "module": "raven.scripts.runner",
                        "filename": "raven/scripts/runner.py",
                        "abs_path": "/home/ubuntu/.virtualenvs/getsentry/src/raven/raven/scripts/runner.py",
                        "lineno": 112,
                        "pre_context": [
                            "    print(\"Using DSN configuration:\")",
                            "    print(\" \", dsn)",
                            "    print()",
                            "",
                            "    client = Client(dsn, include_paths=['raven'])"
                        ],
                        "context_line": "    send_test_message(client, opts.__dict__)",
                        "in_app": false,
                        "vars": {
                            "'args'": [
                                "'test'",
                                "'https://ebc35f33e151401f9deac549978bda11:f3403f81e12e4c24942d505f086b2cad@sentry.io/1'"
                            ],
                            "'client'": "<raven.base.Client object at 0x107bb8210>",
                            "'dsn'": "'https://ebc35f33e151401f9deac549978bda11:f3403f81e12e4c24942d505f086b2cad@sentry.io/1'",
                            "'opts'": "<Values at 0x107ba3b00: {'data': None, 'tags': None}>",
                            "'parser'": "<optparse.OptionParser instance at 0x107ba3368>",
                            "'root'": "<logging.Logger object at 0x107ba5b10>"
                        }
                    }
                ]
            },
            "tags": [
                [
                    "level",
                    "error"
                ],
                [
                    "server_name",
                    "web01.example.org"
                ]
            ],
            "extra": {
                "emptyList": [],
                "emptyMap": {},
                "length": 10837790,
                "results": [
                    1,
                    2,
                    3,
                    4,
                    5
                ],
                "session": {
                    "foo": "bar"
                },
                "unauthorized": false,
                "url": "http://example.org/foo/bar/"
            }
        ```
        ## 相关模块
        ### group
        #### see: https://github1s.com/getsentry/sentry/blob/HEAD/src/sentry/models/group.py#L385 class Group(Model)
        ### project
        #### see: https://github1s.com/getsentry/sentry/blob/HEAD/src/sentry/models/project.py
        ### event
        #### see: https://github1s.com/getsentry/sentry/blob/HEAD/src/sentry/eventstore/models.py#L118
        #### see: https://github1s.com/getsentry/sentry/blob/HEAD/src/sentry/snuba/events.py
        
Keywords: python sentry dingTalk notice
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Description-Content-Type: text/markdown
