{
    "componentChunkName": "component---src-templates-issues-tsx",
    "path": "/issues/278",
    "result": {"data":{"issuesJson":{"id":"428ea9e9-68aa-59f3-9f48-46fa192df474","title":"keephq/keep: 开源 AIOps 和警报管理平台","number":278,"bodyHTML":"<div align=\"center\" dir=\"auto\">\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\"><img src=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\" width=\"100%\" height=\"3\" data-animated-image=\"\" data-canonical-src=\"https://cdn.jsdelivr.net/gh/eryajf/tu@main/img/image_20240420_214408.gif\" style=\"max-width: 100%; height: auto; max-height: 3px;\"></a><br><br></p>\n<markdown-accessiblity-table><table role=\"table\">\n<thead>\n<tr>\n<th align=\"right\">Repos</th>\n<th align=\"left\"><a href=\"https://github.com/keephq/keep\">keephq/keep</a></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td align=\"right\"><strong>Views</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/8b129315987374355ac0ea04de92701c9720e549518901525d51a9e4d52922b6/68747470733a2f2f76696577732e77686174696c656172656e65642e746f6461792f76696577732f6769746875622f6b65657068712f6b6565702e737667\" alt=\"views\" data-canonical-src=\"https://views.whatilearened.today/views/github/keephq/keep.svg\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>Stars</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/02cb85245a6a5ad270049fa8bc4bd3158367f5f46bc4f39569aedbba05a30aae/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6b65657068712f6b6565703f636f6c6f723d663266303864266c6f676f3d556e64657274616c65266c6f676f436f6c6f723d656234363330\" alt=\"stars\" data-canonical-src=\"https://img.shields.io/github/stars/keephq/keep?color=f2f08d&amp;logo=Undertale&amp;logoColor=eb4630\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>Forks</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/e23c5572b154411d64a53be3a2a1b70dae538e63dae1ca08f6f64a6744a57f3c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6b65657068712f6b6565703f636f6c6f723d626138366562266c6f676f3d48616e647368616b65266c6f676f436f6c6f723d656136616136\" alt=\"forks\" data-canonical-src=\"https://img.shields.io/github/forks/keephq/keep?color=ba86eb&amp;logo=Handshake&amp;logoColor=ea6aa6\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>License</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/0c93ca71e73bb599dbfbd81eb5bbb82f63a427dc55ced5d8a7de2d4025f1f1c5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c2d4e4f4e452d626c75653f6c6f676f3d756e6c6963656e7365\" alt=\"license\" data-canonical-src=\"https://img.shields.io/badge/L-NONE-blue?logo=unlicense\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>UpdatedAt</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/9910722536158a59c8dfe5dda8897c2f6aba494f9e0579461e05acd184225ab2/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f6b65657068712f6b6565703f646973706c61795f74696d657374616d703d636f6d6d6974746572266c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e5355684555674141414234414141416543415941414141374d4b3669414141414358424957584d41414173544141414c457745416d7077594141414648556c45515652346e4c5658375539615678776d3236646c582532466468627825324232253246516e626b7655627264554151674a4a496655444e574454546d4f76314651554661504a346b7573725630314a7431734e70637453327533626f745a746d786439744a5346536f714b71494635625944464c436f76436c656673747a4a387758524c445a4c7a6e6b634f343535376e3364332532466e655a3472454f515a74315771462532423858467234253242664f4c4565326a6f59307a776638546f795a50766a45676b4c592532426b306d6d72584f36644b696e787a476b30666a5430782532425279723055716e6359637a4d317263347451253242497270324c4758646f344e4334567657715453373277716c632532427231334f527269364b6458646e624f484c6c776c7a4a70524b6e3657342532424b36706f4f434e6e494166486a253246253242776168495a4234764b6e715a6630714a704e49716c2532467638545530634e6c3572627963337730516e54703379324c54614a374d314e617844723266526e315370504736476961323174664533345463614f617931694d55564f5146624659714957536f31573854694156616e43306576584f4542375770313448466232327a453566714c4f433545524c515769644e614e49347545636339693768634a6c644868324e57725135674464624f6c7061756d49754c62326174415144506e7a3062384e6257636d785656524a33486d7870536377777a4f4a6d4b44524765384c6c435a444c4739673754496e5631516c376462586256316533675430574b697243466f6d6b5079767758466c5a474a4f6a563625324253743634757564445a4f55354555636f782532464d455144567674364d62634e3237593341797a687633737061557242365a3971724a534f3139657a6a387032704c426b4a792532426343484a7857493567573574636652527a31645531394766476b6f7539505a4f34736d52396a4746777065783444793362766e6d4b79706f74625531335669646a71595a68726a343972764d457425324625324659714c7a396430304e6a57253246637a67796f394f35317a7336614e6c6f354644747530445a675146686c47584a30644241446f4e6864367576703657686f617967374e394c564748386d443462253246486e667455516f4e4734764c51306769784d716c5725324234714f6a744e48446733723166365969525347785279375576714c62395534716b716e78504f4e7661356c447048723125324279794b524e4b57425a793565644d554842326d3572792532422532424551772532427a6766347a6f39253246306f634e3357527a4c4277344a2532424a7950574372716d4967475974554f735744346f785a46516f50556a4770564871493425324661666b51504336665a5165654d31253242764c7549516e6a754257514444437363726d485039656f4e5041744271664f6e5875614b25324268364a45624772732532427076764d6d78654962683836336162565065597953456f39464a48704e4d464a59253242503563575a6b6667374f3174537759436553514c54593345385130392532464256504a556c78516a7368543142736343593032723955445542667643484236367063665041336c794165336e6772332532463437584467614a7a736c7937787741364e5a746c555550437541487161536a5549502532427375653842525741432532464e6651374a5a505a35397330476a3756747049537a34685125324243706658474d4b685a63764c70554b7866574d386f68766637702532464f446a4842666356463849736b383267314648796b63564645253242555a414158343761452532464d6c34504f3530506e75683025324678346e6d637957507364774468427836436d6b4c562532466746446a594b784f4a4f4674623077517949684c39527943774b33414f664947703159464542686e4d4a634c525745624b644b516f55366e63545a6b494544696341792532463831645675454d3552775066657934784f7830496b25324649324e6e466b692532425761664f6f464959466367595a43797864376543556a626334416d46363566742532466b4d686b336f25324235686337734d4a79716a4a45477659466151464972375930775077384246415925324236253242766d6b3377367a7a5275444d6d5a5652736668385274413075455453443775434254364459514e36697665553066706b594c6a453671725672744f78654e4b553954484c5a4a396b4255324a427342685635416976422532466f4b61514e4b675043427744596149665a4334616454684f71463457454e56694c4a77566f586f62664c424b56773637414f6154734c6336355461564b32317651344c613939654b6359673576627873624f627a5451394e37554b4467554f3177446a6944494942736868357a746733396e514d4c535a4248344f7a424f55444551586d323036643366634c67737762585141345068634b336e6873775531427a3877765130395248472532466f597933656a6677424e6d746f59714c4130586741414141424a52553545726b4a676767253344253344266c6162656c3d557064617465644174\" alt=\"last-commit\" data-canonical-src=\"https://img.shields.io/github/last-commit/keephq/keep?display_timestamp=committer&amp;logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFHUlEQVR4nLVX7U9aVxwm26dlX%2Fdhbx%2B2%2FQnbkvUbrdUAQgJJIfUDNWDTTmOv1FQUFaPJ4kusrV01Jt1sNpctS2u3botZtmxd9tJSFSoqKqIF5bYDFLCovClefstzJ8wXRLDZLznkcO4557n3d3%2FneZ4rEOQZt1WqF%2B8XFr4%2BfOLEe2joY0zwf8ToyZPvjEgkLY%2Bk0mmrXO6dKinxzGk0fjT0x%2BRyr0UqncYczM1rc4tQ%2BIrp2LGXdo4NC4VvWqTS72wqlc%2Br13ORri6KdXdnbOHLlwlzJpRKn6W4%2BK6poOCNnIAfHj%2F%2BwahIZB4vKnqZf0qJpNIql%2Fv8TU0cNl5rbyc3w0QnTp3y2LTaJ7M1NaxDr2fRn1SpPG6Gia21tfE34TcaOay1iMUVOQFbFYqIWSo1W8TiAVanC0evXOEB7Wp14HFb22zE5fqLOC5ERLQWidNaNI4uEcc9i7hcJldHh2NWrQ5gDdbOlpaumIuLb2atAQDPnz0b8NbWcmxVVRJ3HmxpScwwzOJmKDRGe8LlCZDLG9g7TInV1Ql7dbXbV1e3gT0WKirCFomkPyvwXFlZGJOjV6%2BSt64uudDZOU5EUcox%2FMEQDVvt6MbcN27Y3Ayzhv3spaUrB6Z9qrJSO19ezj8p2pLBkJy%2BcCHJxWI5gW5tcfRRz1dU19GfGkou9PZO4smR9jGFwpex4Dy3bvnmKypotbU13VidjqYZhrj49rvMEt%2F%2FYqLz9d00NjW%2Fczgyo9O51zs6aNlo5FDtu0DZgQFhlGXJ0dBADoNhd6uvp6Whoayg7N9LVGH8mD4b%2FHnftUQoNG4vLQ0gixMqlW%2B4qOjtNHDg3r1f6YiRSGxRy7UvqLb9U4qkqnxPONva5lDpHr1%2ByyKRNKWBZy5edMUHB2m5ry%2B%2BEQw%2Bzgf4zo9%2F0ocN3WRzLBw4J%2BJyPWCrqmIgGYtUOsWD4oxZFQoPUjGpVHqI4%2FafkQPC6fZQeeM1%2BvLuIQnjuBWQDDCscrmHP9eoNPAtBqfOnXuaK%2Bh6JEbGrs%2BpvvMmxeIbh863abVPeYySEo9FJHpNMFJY%2BP5cWZkfg7O1tSwYCeSQLTY3E8Q09%2FBVPJUlxQjshT1BscCY02r9UDUBfvCHB66pcfPA3lyAe3ngr3%2F47XDgaJzsly7xwA6NZtlUUPCuAHqaSjUIP%2Bsue8BRWAC%2FNfQ7JZPZ59s0Gj7VtpISz4hQ%2BCpfXGMKhZcvLpUKxfWM8ohvf7p%2FODjHBfcVF8Isk82g1FHykcVFE%2BUZAAX47aE%2FMl4PO50Pnuh0%2Fx4nmcyWPsdwDhBx6CmkLV%2FgFDjYKxOJOFtb0wQyIhL9RyCwK3AOfIGp1YFEBhnMJcLRWEbKdKQoU6ncTZkIEDicAy%2F81dVuEM5RwPfey4xOx0Ik%2FI2NnFki%2BWafOoFIYFcgYZCyxd7eCUjbc4AmF65ft%2FkMhk3o%2B5hc7sMJyqjJEGvYFaQFIr7Y0wPw8BFAY%2B6%2Bvmk3w6zzRuDMmZVRsfh8RtA0uETSD7uCBT6DYQN6iveU0fpkYLjE6qrVrtOxeNKU9THLZJ9kBU2JBsBhV5AivB%2FoKaQNKgPCBwDYaIfZC4adThOqF4WENViLJwVoXobfLBKVw67AOaTsLc65TaVK21vQ4La99eKcYg5vbxsbObzTQ9N7UKDgUO1wDjiDIIBshh5ztg39nQMLSZBH4OzBOUDEQXm206d3fcLgswbXQA4PhcK3nhswU1Bz8wvQ09RHG%2FoYy3ejfwBNmtoYqLA0XgAAAABJRU5ErkJggg%3D%3D&amp;label=UpdatedAt\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>CreatedAt</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/08adbcdd3d66c6536e1fab3e6067b1cbe06fed07fd17d09f4f1de535113d240a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f637265617465642d61742f6b65657068712f6b6565703f6c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e5355684555674141414234414141416543415941414141374d4b3669414141414358424957584d41414173544141414c457745416d7077594141414648556c45515652346e4c5658375539615678776d3236646c582532466468627825324232253246516e626b7655627264554151674a4a496655444e574454546d4f76314651554661504a346b7573725630314a7431734e70637453327533626f745a746d786439744a5346536f714b71494635625944464c436f76436c656673747a4a387758524c445a4c7a6e6b634f343535376e3364332532466e655a3472454f515a74315771462532423858467234253242664f4c4565326a6f59307a776638546f795a50766a45676b4c592532426b306d6d72584f36644b696e787a476b30666a5430782532425279723055716e6359637a4d317263347451253242497270324c4758646f344e4334567657715453373277716c632532427231334f527269364b6458646e624f484c6c776c7a4a70524b6e3657342532424b36706f4f434e6e494166486a253246253242776168495a4234764b6e715a6630714a704e49716c2532467638545530634e6c3572627963337730516e54703379324c54614a374d314e617844723266526e315370504736476961323174664533345463614f617931694d55564f5146624659714957536f31573854694156616e43306576584f4542375770313448466232327a453566714c4f433545524c515769644e614e49347545636339693768634a6c644868324e57725135674464624f6c7061756d49754c62326174415144506e7a3062384e6257636d785656524a33486d7870536377777a4f4a6d4b44524765384c6c435a444c4739673754496e5631516c376462586256316533675430574b697243466f6d6b5079767758466c5a474a4f6a563625324253743634757564445a4f55354555636f782532464d455144567674364d62634e3237593341797a687633737061557242365a3971724a534f3139657a6a387032704c426b4a792532426343484a7857493567573574636652527a31645531394766476b6f7539505a4f34736d52396a4746777065783444793362766e6d4b79706f74625531335669646a71595a68726a343972764d457425324625324659714c7a396430304e6a57253246637a67796f394f35317a7336614e6c6f354644747530445a675146686c47584a30644241446f4e6864367576703657686f617967374e394c564748386d443462253246486e667455516f4e4734764c51306769784d716c5725324234714f6a744e48446733723166365969525347785279375576714c62395534716b716e78504f4e7661356c447048723125324279794b524e4b57425a793565644d554842326d3572792532422532424551772532427a6766347a6f39253246306f634e3357527a4c4277344a2532424a7950574372716d4967475974554f735744346f785a46516f50556a4770564871493425324661666b51504336665a5165654d31253242764c7549516e6a754257514444437363726d485039656f4e5041744271664f6e5875614b25324268364a45624772732532427076764d6d78654962683836336162565065597953456f39464a48704e4d464a59253242503563575a6b6667374f3174537759436553514c54593345385130392532464256504a556c78516a7368543142736343593032723955445542667643484236367063665041336c794165336e6772332532463437584467614a7a736c7937787741364e5a746c555550437541487161536a5549502532427375653842525741432532464e6651374a5a505a35397330476a3756747049537a34685125324243706658474d4b685a63764c70554b7866574d386f68766637702532464f446a4842666356463849736b383267314648796b63564645253242555a414158343761452532464d6c34504f3530506e75683025324678346e6d637957507364774468427836436d6b4c562532466746446a594b784f4a4f4674623077517949684c39527943774b33414f664947703159464542686e4d4a634c525745624b644b516f55366e63545a6b494544696341792532463831645675454d3552775066657934784f7830496b25324649324e6e466b692532425761664f6f464959466367595a43797864376543556a626334416d46363566742532466b4d686b336f25324235686337734d4a79716a4a45477659466151464972375930775077384246415925324236253242766d6b3377367a7a5275444d6d5a5652736668385274413075455453443775434254364459514e36697665553066706b594c6a453671725672744f78654e4b553954484c5a4a396b4255324a427342685635416976422532466f4b61514e4b675043427744596149665a4334616454684f71463457454e56694c4a77566f586f62664c424b56773637414f6154734c6336355461564b32317651344c613939654b6359673576627873624f627a5451394e37554b4467554f3177446a6944494942736868357a746733396e514d4c535a4248344f7a424f55444551586d323036643366634c67737762585141345068634b336e6873775531427a3877765130395248472532466f597933656a6677424e6d746f59714c4130586741414141424a52553545726b4a676767253344253344266c6162656c3d437265617465644174\" alt=\"create-at\" data-canonical-src=\"https://img.shields.io/github/created-at/keephq/keep?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFHUlEQVR4nLVX7U9aVxwm26dlX%2Fdhbx%2B2%2FQnbkvUbrdUAQgJJIfUDNWDTTmOv1FQUFaPJ4kusrV01Jt1sNpctS2u3botZtmxd9tJSFSoqKqIF5bYDFLCovClefstzJ8wXRLDZLznkcO4557n3d3%2FneZ4rEOQZt1WqF%2B8XFr4%2BfOLEe2joY0zwf8ToyZPvjEgkLY%2Bk0mmrXO6dKinxzGk0fjT0x%2BRyr0UqncYczM1rc4tQ%2BIrp2LGXdo4NC4VvWqTS72wqlc%2Br13ORri6KdXdnbOHLlwlzJpRKn6W4%2BK6poOCNnIAfHj%2F%2BwahIZB4vKnqZf0qJpNIql%2Fv8TU0cNl5rbyc3w0QnTp3y2LTaJ7M1NaxDr2fRn1SpPG6Gia21tfE34TcaOay1iMUVOQFbFYqIWSo1W8TiAVanC0evXOEB7Wp14HFb22zE5fqLOC5ERLQWidNaNI4uEcc9i7hcJldHh2NWrQ5gDdbOlpaumIuLb2atAQDPnz0b8NbWcmxVVRJ3HmxpScwwzOJmKDRGe8LlCZDLG9g7TInV1Ql7dbXbV1e3gT0WKirCFomkPyvwXFlZGJOjV6%2BSt64uudDZOU5EUcox%2FMEQDVvt6MbcN27Y3Ayzhv3spaUrB6Z9qrJSO19ezj8p2pLBkJy%2BcCHJxWI5gW5tcfRRz1dU19GfGkou9PZO4smR9jGFwpex4Dy3bvnmKypotbU13VidjqYZhrj49rvMEt%2F%2FYqLz9d00NjW%2Fczgyo9O51zs6aNlo5FDtu0DZgQFhlGXJ0dBADoNhd6uvp6Whoayg7N9LVGH8mD4b%2FHnftUQoNG4vLQ0gixMqlW%2B4qOjtNHDg3r1f6YiRSGxRy7UvqLb9U4qkqnxPONva5lDpHr1%2ByyKRNKWBZy5edMUHB2m5ry%2B%2BEQw%2Bzgf4zo9%2F0ocN3WRzLBw4J%2BJyPWCrqmIgGYtUOsWD4oxZFQoPUjGpVHqI4%2FafkQPC6fZQeeM1%2BvLuIQnjuBWQDDCscrmHP9eoNPAtBqfOnXuaK%2Bh6JEbGrs%2BpvvMmxeIbh863abVPeYySEo9FJHpNMFJY%2BP5cWZkfg7O1tSwYCeSQLTY3E8Q09%2FBVPJUlxQjshT1BscCY02r9UDUBfvCHB66pcfPA3lyAe3ngr3%2F47XDgaJzsly7xwA6NZtlUUPCuAHqaSjUIP%2Bsue8BRWAC%2FNfQ7JZPZ59s0Gj7VtpISz4hQ%2BCpfXGMKhZcvLpUKxfWM8ohvf7p%2FODjHBfcVF8Isk82g1FHykcVFE%2BUZAAX47aE%2FMl4PO50Pnuh0%2Fx4nmcyWPsdwDhBx6CmkLV%2FgFDjYKxOJOFtb0wQyIhL9RyCwK3AOfIGp1YFEBhnMJcLRWEbKdKQoU6ncTZkIEDicAy%2F81dVuEM5RwPfey4xOx0Ik%2FI2NnFki%2BWafOoFIYFcgYZCyxd7eCUjbc4AmF65ft%2FkMhk3o%2B5hc7sMJyqjJEGvYFaQFIr7Y0wPw8BFAY%2B6%2Bvmk3w6zzRuDMmZVRsfh8RtA0uETSD7uCBT6DYQN6iveU0fpkYLjE6qrVrtOxeNKU9THLZJ9kBU2JBsBhV5AivB%2FoKaQNKgPCBwDYaIfZC4adThOqF4WENViLJwVoXobfLBKVw67AOaTsLc65TaVK21vQ4La99eKcYg5vbxsbObzTQ9N7UKDgUO1wDjiDIIBshh5ztg39nQMLSZBH4OzBOUDEQXm206d3fcLgswbXQA4PhcK3nhswU1Bz8wvQ09RHG%2FoYy3ejfwBNmtoYqLA0XgAAAABJRU5ErkJggg%3D%3D&amp;label=CreatedAt\" style=\"max-width: 100%;\"></a></td>\n</tr>\n</tbody>\n</table></markdown-accessiblity-table>\n<a href=\"https://github.com/opsre/awesome-ops\">\n</a><p dir=\"auto\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/b964a36ea4078c39f603d46a29436371c7541a2f26e0228d7b21b9d9805b43d3/68747470733a2f2f736f6369616c6966792e6769742e63692f6f707372652f617765736f6d652d6f70732f696d6167653f6465736372697074696f6e3d3126666f6e743d42697474657226666f726b733d31266973737565733d31266c616e67756167653d31266c6f676f3d6874747073253341253246253246617661746172732e67697468756275736572636f6e74656e742e636f6d25324675253246313838353638303230266e616d653d31266f776e65723d31267061747465726e3d436972637569742b426f6172642670756c6c733d31267374617267617a6572733d31267468656d653d4c69676874\" alt=\"\" data-canonical-src=\"https://socialify.git.ci/opsre/awesome-ops/image?description=1&amp;font=Bitter&amp;forks=1&amp;issues=1&amp;language=1&amp;logo=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F188568020&amp;name=1&amp;owner=1&amp;pattern=Circuit+Board&amp;pulls=1&amp;stargazers=1&amp;theme=Light\" style=\"max-width: 100%;\"></a></p>\n<a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\"><img src=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\" width=\"100%\" height=\"3\" data-animated-image=\"\" data-canonical-src=\"https://cdn.jsdelivr.net/gh/eryajf/tu@main/img/image_20240420_214408.gif\" style=\"max-width: 100%; height: auto; max-height: 3px;\"></a>\n</div>\n<div align=\"center\" dir=\"auto\">\n    <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/assets/keep.png?raw=true\"><img src=\"/assets/keep.png?raw=true\" width=\"86\" style=\"max-width: 100%;\"></a>\n</div>\n<h1 align=\"center\" dir=\"auto\">The open-source AIOps and alert management platform</h1>\n<br>\n<div align=\"center\" dir=\"auto\">Single pane of glass, alert deduplication, enrichment, filtering and correlation, bi-directional integrations, workflows, dashboards.\n<br>\n</div>\n<div align=\"center\" dir=\"auto\">\n    <a href=\"http://makeapullrequest.com\" rel=\"nofollow\">\n      <img alt=\"PRs Welcome\" src=\"https://camo.githubusercontent.com/3ceeb4c1fe10d0b3dae91b885b84eab5ac4c2fcd2bedd074977740d2ec833e96/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5052732d77656c636f6d652d627269676874677265656e2e7376673f7374796c653d736869656c6473\" data-canonical-src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=shields\" style=\"max-width: 100%;\"></a>\n    <a href=\"https://slack.keephq.dev\" rel=\"nofollow\">\n      <img src=\"https://camo.githubusercontent.com/40c5ed4b99d3f54d74f1b28cca80b0bb1c291c7b5e7516a66bcb36d814a5f4d8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4a6f696e2d696d706f7274616e742e7376673f636f6c6f723d344131353442266c6162656c3d536c61636b266c6f676f3d736c61636b266c6162656c436f6c6f723d333334313535266c6f676f436f6c6f723d663566356635\" alt=\"Join Slack\" data-canonical-src=\"https://img.shields.io/badge/Join-important.svg?color=4A154B&amp;label=Slack&amp;logo=slack&amp;labelColor=334155&amp;logoColor=f5f5f5\" style=\"max-width: 100%;\"></a>\n    <a href=\"https://github.com/keephq/keep/commits/main\">\n      <img alt=\"GitHub commit activity\" src=\"https://camo.githubusercontent.com/76ef52c1e09083f7a52f7db4385902d9a8453e01afc99fa1be0b1cc3bb7cb4dd/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6d6d69742d61637469766974792f6d2f6b65657068712f6b656570\" data-canonical-src=\"https://img.shields.io/github/commit-activity/m/keephq/keep\" style=\"max-width: 100%;\"></a>\n    <a href=\"https://codecov.io/gh/keephq/keep\" rel=\"nofollow\">\n        <img src=\"https://camo.githubusercontent.com/0cb3c6af73cada6af89607a3d3d32d8522c3e0a81960237f71bffab36ca9785a/68747470733a2f2f636f6465636f762e696f2f67682f6b65657068712f6b6565702f6272616e63682f6d61696e2f67726170682f62616467652e7376673f746f6b656e3d3256543658594d524753\" data-canonical-src=\"https://codecov.io/gh/keephq/keep/branch/main/graph/badge.svg?token=2VT6XYMRGS\" style=\"max-width: 100%;\">\n    </a>\n</div>\n<p align=\"center\" dir=\"auto\">\n    <a href=\"https://docs.keephq.dev\" rel=\"nofollow\">Docs</a>\n    ·\n    <a href=\"https://platform.keephq.dev\" rel=\"nofollow\">Try it out</a>\n    ·\n    <a href=\"https://github.com/keephq/keep/issues/new?assignees=&amp;labels=bug&amp;template=bug_report.md&amp;title=\">Report Bug</a>\n    ·\n    <a href=\"https://www.keephq.dev/meet-keep\" rel=\"nofollow\">Book a Demo</a>\n    ·\n    <a href=\"https://www.keephq.dev\" rel=\"nofollow\">Website</a>\n</p>\n<div dir=\"auto\">\n    <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/assets/sneaknew.png?raw=true\"><img src=\"/assets/sneaknew.png?raw=true\" alt=\"Sneak preview screenshot\" style=\"max-width: 100%;\"></a>\n</div>\n<h1 align=\"center\" dir=\"auto\"></h1>\n<ul dir=\"auto\">\n<li>🔍 <strong>Single pane of glass</strong> - Best-in-class customizable UI for all your alerts and incidents</li>\n<li>🛠️ <strong>Swiss Army Knife for alerts</strong> - Deduplication, correlation, filtering and enrichment</li>\n<li>🔄 <strong>Deep integrations</strong> - Bi-directional syncs with monitoring tools, customizable workflows</li>\n<li>⚡ <strong><a href=\"#workflows\">Automation</a></strong> - GitHub Actions for your monitoring tools</li>\n<li>🤖 <strong>AIOps 2.0</strong> - AI-powered correlation and summarization</li>\n</ul>\n<br>\n<blockquote>\n<p dir=\"auto\">See full <a href=\"https://docs.keephq.dev\" rel=\"nofollow\">platform documentation</a>.</p>\n</blockquote>\n<br>\n<h2 dir=\"auto\">Supported Integrations</h2>\n<blockquote>\n<p dir=\"auto\">View the full list in our <a href=\"https://docs.keephq.dev/providers/documentation\" rel=\"nofollow\">documentation</a></p>\n</blockquote>\n<blockquote>\n<p dir=\"auto\">Missing a provider? <a href=\"https://github.com/keephq/keep/issues/new?assignees=&amp;labels=provider&amp;projects=&amp;template=new_provider_request.md&amp;title=\">Submit a new provider request</a> and we'll add it quickly!</p>\n</blockquote>\n<h3 dir=\"auto\">AI Backends for Enrichments, Correlations and Incident Context Gathering</h3>\n<markdown-accessiblity-table><table role=\"table\">\n<tbody><tr>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/anthropic-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/anthropic-icon.png\" alt=\"Anthropic\" style=\"max-width: 100%;\"><br>\n            Anthropic\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/openai-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/openai-icon.png\" alt=\"OpenAI\" style=\"max-width: 100%;\"><br>\n            OpenAI\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/deepseek-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/deepseek-icon.png\" alt=\"DeepSeek\" style=\"max-width: 100%;\"><br>\n            DeepSeek\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/ollama-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/ollama-icon.png\" alt=\"Ollama\" style=\"max-width: 100%;\"><br>\n            Ollama\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/llamacpp-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/llamacpp-icon.png\" alt=\"LlamaCPP\" style=\"max-width: 100%;\"><br>\n            LlamaCPP\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/grok-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/grok-icon.png\" alt=\"Grok\" style=\"max-width: 100%;\"><br>\n            Grok\n        </a>\n    </td>\n</tr>\n<tr>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/gemini-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/gemini-icon.png\" alt=\"Gemini\" style=\"max-width: 100%;\"><br>\n            Gemini\n        </a>\n    </td>\n</tr>\n</tbody></table></markdown-accessiblity-table>\n<h3 dir=\"auto\">Observability Tools</h3>\n<markdown-accessiblity-table><table role=\"table\">\n<tbody><tr>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/appdynamics-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/appdynamics-icon.png\" alt=\"AppDynamics\" style=\"max-width: 100%;\"><br>\n            AppDynamics\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/axiom-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/axiom-icon.png\" alt=\"Axiom\" style=\"max-width: 100%;\"><br>\n            Axiom\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/azuremonitoring-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/azuremonitoring-icon.png\" alt=\"Azure Monitoring\" style=\"max-width: 100%;\"><br>\n            Azure Monitoring\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/centreon-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/centreon-icon.png\" alt=\"Centreon\" style=\"max-width: 100%;\"><br>\n            Centreon\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/checkmk-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/checkmk-icon.png\" alt=\"Checkmk\" style=\"max-width: 100%;\"><br>\n            Checkmk\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/cilium-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/cilium-icon.png\" alt=\"Cilium\" style=\"max-width: 100%;\"><br>\n            Cilium\n        </a>\n    </td>\n</tr>\n<tr>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/checkly-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/checkly-icon.png\" alt=\"Checkly\" style=\"max-width: 100%;\"><br>\n            Checkly\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/cloudwatch-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/cloudwatch-icon.png\" alt=\"CloudWatch\" style=\"max-width: 100%;\"><br>\n            CloudWatch\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/coralogix-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/coralogix-icon.png\" alt=\"Coralogix\" style=\"max-width: 100%;\"><br>\n            Coralogix\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/dash0-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/dash0-icon.png\" alt=\"Dash0\" style=\"max-width: 100%;\"><br>\n            Dash0\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/datadog-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/datadog-icon.png\" alt=\"Datadog\" style=\"max-width: 100%;\"><br>\n            Datadog\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/dynatrace-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/dynatrace-icon.png\" alt=\"Dynatrace\" style=\"max-width: 100%;\"><br>\n            Dynatrace\n        </a>\n    </td>\n  </tr>\n  <tr>\n    <td align=\"center\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/elastic-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/elastic-icon.png\" alt=\"Elastic\" style=\"max-width: 100%;\"><br>\n            Elastic\n        </a>\n    </td>\n    <td align=\"center\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/gcpmonitoring-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/gcpmonitoring-icon.png\" alt=\"GCP Monitoring\" style=\"max-width: 100%;\"><br>\n            GCP Monitoring\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/grafana-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/grafana-icon.png\" alt=\"Grafana\" style=\"max-width: 100%;\"><br>\n            Grafana\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/grafana_loki-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/grafana_loki-icon.png\" alt=\"Grafana Loki\" style=\"max-width: 100%;\"><br>\n            Grafana Loki\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/graylog-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/graylog-icon.png\" alt=\"Graylog\" style=\"max-width: 100%;\"><br>\n            Graylog\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n    <a href=\"https://docs.keephq.dev/providers/documentation/icinga2-provider\" rel=\"nofollow\">\n        <img width=\"40\" src=\"keep-ui/public/icons/icinga2-icon.png\" alt=\"Icinga2\" style=\"max-width: 100%;\">\n        <br>\n        Icinga2\n    </a>\n    </td>\n  </tr>\n  <tr>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/kibana-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/kibana-icon.png\" alt=\"Kibana\" style=\"max-width: 100%;\"><br>\n            Kibana\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/libre_nms-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/libre_nms-icon.png\" alt=\"LibreNMS\" style=\"max-width: 100%;\"><br>\n            LibreNMS\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/netbox-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/netbox-icon.png\" alt=\"NetBox\" style=\"max-width: 100%;\"><br>\n            NetBox\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/netdata-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/netdata-icon.png\" alt=\"Netdata\" style=\"max-width: 100%;\"><br>\n            Netdata\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/new-relic-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/newrelic-icon.png\" alt=\"New Relic\" style=\"max-width: 100%;\"><br>\n            New Relic\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/opensearchserverless-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/opensearchserverless-icon.png\" alt=\"OpenSearch Serverless\" style=\"max-width: 100%;\"><br>\n            OpenSearch Serverless\n        </a>\n    </td>\n</tr>\n<tr>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/parseable-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/parseable-icon.png\" alt=\"Parseable\" style=\"max-width: 100%;\"><br>\n            Parseable\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/pingdom-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/pingdom-icon.png\" alt=\"Pingdom\" style=\"max-width: 100%;\"><br>\n            Pingdom\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/prometheus-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/prometheus-icon.png\" alt=\"Prometheus\" style=\"max-width: 100%;\"><br>\n            Prometheus\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/rollbar-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/rollbar-icon.png\" alt=\"Rollbar\" style=\"max-width: 100%;\"><br>\n            Rollbar\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/sentry-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/sentry-icon.png\" alt=\"Sentry\" style=\"max-width: 100%;\"><br>\n            Sentry\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/signalfx-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/signalfx-icon.png\" alt=\"SignalFX\" style=\"max-width: 100%;\"><br>\n            SignalFX\n        </a>\n    </td>\n</tr>\n<tr>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/openobserve-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/openobserve-icon.png\" alt=\"OpenObserve\" style=\"max-width: 100%;\"><br>\n            OpenObserve\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/site24x7-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/site24x7-icon.png\" alt=\"Site24x7\" style=\"max-width: 100%;\"><br>\n          Site24x7\n        </a>\n  </td>\n  <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/splunk-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/splunk-icon.png\" alt=\"Splunk\" style=\"max-width: 100%;\"><br>\n          Splunk\n        </a>\n  </td>\n  <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/statuscake-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/statuscake-icon.png\" alt=\"StatusCake\" style=\"max-width: 100%;\"><br>\n          StatusCake\n        </a>\n  </td>\n  <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/sumologic-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/sumologic-icon.png\" alt=\"SumoLogic\" style=\"max-width: 100%;\"><br>\n          SumoLogic\n        </a>\n  </td>\n  <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/thousandeyes-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/thousandeyes-icon.png\" alt=\"SumoLogic\" style=\"max-width: 100%;\"><br>\n          ThousandEyes\n        </a>\n  </td>\n</tr>\n<tr>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/uptimekuma-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/uptimekuma-icon.png\" alt=\"UptimeKuma\" style=\"max-width: 100%;\"><br>\n          UptimeKuma\n        </a>\n  </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/victorialogs-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/victorialogs-icon.png\" alt=\"VictoriaLogs\" style=\"max-width: 100%;\"><br>\n          VictoriaLogs\n        </a>\n  </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/victoriametrics-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/victoriametrics-icon.png\" alt=\"VictoriaMetrics\" style=\"max-width: 100%;\"><br>\n          VictoriaMetrics\n        </a>\n  </td>\n  <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/wazuh-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/wazuh-icon.png\" alt=\"Wazuh\" style=\"max-width: 100%;\"><br>\n          Wazuh\n        </a>\n  </td>\n  <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/zabbix-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/zabbix-icon.png\" alt=\"Zabbix\" style=\"max-width: 100%;\"><br>\n          Zabbix\n        </a>\n  </td>\n</tr>\n</tbody></table></markdown-accessiblity-table>\n<h3 dir=\"auto\">Databases &amp; Data Warehouses</h3>\n<markdown-accessiblity-table><table role=\"table\">\n<tbody><tr>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/bigquery-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/bigquery-icon.png\" alt=\"BigQuery\" style=\"max-width: 100%;\"><br>\n            BigQuery\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/clickhouse-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/clickhouse-icon.png\" alt=\"ClickHouse\" style=\"max-width: 100%;\"><br>\n            ClickHouse\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/databend-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/databend-icon.png\" alt=\"Databend\" style=\"max-width: 100%;\"><br>\n            Databend\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/mongodb-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/mongodb-icon.png\" alt=\"MongoDB\" style=\"max-width: 100%;\"><br>\n            MongoDB\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/mysql-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/mysql-icon.png\" alt=\"MySQL\" style=\"max-width: 100%;\"><br>\n            MySQL\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/postgres-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/postgres-icon.png\" alt=\"PostgreSQL\" style=\"max-width: 100%;\"><br>\n            PostgreSQL\n        </a>\n    </td>\n</tr>\n<tr>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/snowflake-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/snowflake-icon.png\" alt=\"Snowflake\" style=\"max-width: 100%;\"><br>\n            Snowflake\n        </a>\n    </td>\n</tr>\n</tbody></table></markdown-accessiblity-table>\n<h3 dir=\"auto\">Communication Platforms</h3>\n<markdown-accessiblity-table><table role=\"table\">\n<tbody><tr>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/discord\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/discord-icon.png\" alt=\"Discord\" style=\"max-width: 100%;\"><br>\n            Discord\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/google_chat-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/google_chat-icon.png\" alt=\"Google Chat\" style=\"max-width: 100%;\"><br>\n            Google Chat\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/mailgun-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/mailgun-icon.png\" alt=\"Mailgun\" style=\"max-width: 100%;\"><br>\n            Mailgun\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/mattermost-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/mattermost-icon.png\" alt=\"Mattermost\" style=\"max-width: 100%;\"><br>\n            Mattermost\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/ntfy-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/ntfy-icon.png\" alt=\"Ntfy.sh\" style=\"max-width: 100%;\"><br>\n            Ntfy.sh\n        </a>\n    </td>\n</tr>\n<tr>\n  <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/pushover-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/pushover-icon.png\" alt=\"Pushover\" style=\"max-width: 100%;\"><br>\n            Pushover\n        </a>\n  </td>\n  <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/resend-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/resend-icon.png\" alt=\"Resend\" style=\"max-width: 100%;\"><br>\n            Resend\n        </a>\n  </td>\n  <td align=\"center\" width=\"150\">\n      <a href=\"https://docs.keephq.dev/providers/documentation/sendgrid-provider\" rel=\"nofollow\">\n          <img width=\"40\" src=\"keep-ui/public/icons/sendgrid-icon.png\" alt=\"SendGrid\" style=\"max-width: 100%;\"><br>\n          SendGrid\n      </a>\n  </td>\n  <td align=\"center\" width=\"150\">\n      <a href=\"https://docs.keephq.dev/providers/documentation/slack-provider\" rel=\"nofollow\">\n          <img width=\"40\" src=\"keep-ui/public/icons/slack-icon.png\" alt=\"Slack\" style=\"max-width: 100%;\"><br>\n          Slack\n      </a>\n  </td>\n  <td align=\"center\" width=\"150\">\n      <a href=\"https://docs.keephq.dev/providers/documentation/smtp-provider\" rel=\"nofollow\">\n          <img width=\"40\" src=\"keep-ui/public/icons/smtp-icon.png\" alt=\"SMTP\" style=\"max-width: 100%;\"><br>\n          SMTP\n      </a>\n  </td>\n  <td align=\"center\" width=\"150\">\n      <a href=\"https://docs.keephq.dev/providers/documentation/teams-provider\" rel=\"nofollow\">\n          <img width=\"40\" src=\"keep-ui/public/icons/teams-icon.png\" alt=\"Teams\" style=\"max-width: 100%;\"><br>\n          Teams\n      </a>\n  </td>\n  <td align=\"center\" width=\"150\">\n      <a href=\"https://docs.keephq.dev/providers/documentation/zoom-provider\" rel=\"nofollow\">\n          <img width=\"40\" src=\"keep-ui/public/icons/zoom-icon.png\" alt=\"Teams\" style=\"max-width: 100%;\"><br>\n          Zoom\n      </a>\n  </td>\n</tr>\n<tr>\n  <td align=\"center\" width=\"150\">\n      <a href=\"https://docs.keephq.dev/providers/documentation/telegram-provider\" rel=\"nofollow\">\n          <img width=\"40\" src=\"keep-ui/public/icons/telegram-icon.png\" alt=\"Telegram\" style=\"max-width: 100%;\"><br>\n          Telegram\n      </a>\n  </td>\n  <td align=\"center\" width=\"150\">\n      <a href=\"https://docs.keephq.dev/providers/documentation/twilio-provider\" rel=\"nofollow\">\n          <img width=\"40\" src=\"keep-ui/public/icons/twilio-icon.png\" alt=\"Twilio\" style=\"max-width: 100%;\"><br>\n          Twilio\n      </a>\n  </td>\n</tr>\n</tbody></table></markdown-accessiblity-table>\n<h3 dir=\"auto\">Incident Management</h3>\n<markdown-accessiblity-table><table role=\"table\">\n  <tbody><tr>\n      <td align=\"center\" width=\"150\">\n          <a href=\"https://docs.keephq.dev/providers/documentation/grafana_incident-provider\" rel=\"nofollow\">\n              <img width=\"40\" src=\"keep-ui/public/icons/grafana_incident-icon.png\" alt=\"Grafana Incident\" style=\"max-width: 100%;\"><br>\n              Grafana Incident\n          </a>\n      </td>\n      <td align=\"center\" width=\"150\">\n          <a href=\"https://docs.keephq.dev/providers/documentation/grafana_oncall-provider\" rel=\"nofollow\">\n              <img width=\"40\" src=\"keep-ui/public/icons/grafana_oncall-icon.png\" alt=\"Grafana OnCall\" style=\"max-width: 100%;\"><br>\n              Grafana OnCall\n          </a>\n      </td>\n      <td align=\"center\" width=\"150\">\n          <a href=\"https://docs.keephq.dev/providers/documentation/ilert-provider\" rel=\"nofollow\">\n              <img width=\"40\" src=\"keep-ui/public/icons/ilert-icon.png\" alt=\"Ilert\" style=\"max-width: 100%;\"><br>\n              Ilert\n          </a>\n      </td>\n      <td align=\"center\" width=\"150\">\n          <a href=\"https://docs.keephq.dev/providers/documentation/incidentio-provider\" rel=\"nofollow\">\n              <img width=\"40\" src=\"keep-ui/public/icons/incidentio-icon.png\" alt=\"Incident.io\" style=\"max-width: 100%;\"><br>\n              Incident.io\n          </a>\n      </td>\n      <td align=\"center\" width=\"150\">\n          <a href=\"https://docs.keephq.dev/providers/documentation/incidentmanager-provider\" rel=\"nofollow\">\n              <img width=\"40\" src=\"keep-ui/public/icons/incidentmanager-icon.png\" alt=\"AWS Incident Manager\" style=\"max-width: 100%;\"><br>\n              AWS Incident Manager\n          </a>\n      </td>\n      <td align=\"center\" width=\"150\">\n          <a href=\"https://docs.keephq.dev/providers/documentation/opsgenie-provider\" rel=\"nofollow\">\n              <img width=\"40\" src=\"keep-ui/public/icons/opsgenie-icon.png\" alt=\"OpsGenie\" style=\"max-width: 100%;\"><br>\n              OpsGenie\n          </a>\n      </td>\n  </tr>\n    <tr>\n      <td align=\"center\" width=\"150\">\n          <a href=\"https://docs.keephq.dev/providers/documentation/pagerduty-provider\" rel=\"nofollow\">\n              <img width=\"40\" src=\"keep-ui/public/icons/pagerduty-icon.png\" alt=\"PagerDuty\" style=\"max-width: 100%;\"><br>\n              PagerDuty\n          </a>\n      </td>\n      <td align=\"center\" width=\"150\">\n          <a href=\"https://docs.keephq.dev/providers/documentation/pagertree-provider\" rel=\"nofollow\">\n              <img width=\"40\" src=\"keep-ui/public/icons/pagertree-icon.png\" alt=\"Pagertree\" style=\"max-width: 100%;\"><br>\n              Pagertree\n          </a>\n      </td>\n      <td align=\"center\" width=\"150\">\n          <a href=\"https://docs.keephq.dev/providers/documentation/signl4-provider\" rel=\"nofollow\">\n              <img width=\"40\" src=\"keep-ui/public/icons/signl4-icon.png\" alt=\"SINGL4\" style=\"max-width: 100%;\"><br>\n              SINGL4\n          </a>\n      </td>\n      <td align=\"center\" width=\"150\">\n          <a href=\"https://docs.keephq.dev/providers/documentation/squadcast-provider\" rel=\"nofollow\">\n              <img width=\"40\" src=\"keep-ui/public/icons/squadcast-icon.png\" alt=\"Squadcast\" style=\"max-width: 100%;\"><br>\n              Squadcast\n          </a>\n      </td>\n      <td align=\"center\" width=\"150\">\n          <a href=\"https://docs.keephq.dev/providers/documentation/zenduty-provider\" rel=\"nofollow\">\n              <img width=\"40\" src=\"keep-ui/public/icons/zenduty-icon.png\" alt=\"Zenduty\" style=\"max-width: 100%;\"><br>\n              Zenduty\n          </a>\n      </td>\n      <td align=\"center\" width=\"150\">\n          <a href=\"https://docs.keephq.dev/providers/documentation/flashduty-provider\" rel=\"nofollow\">\n              <img width=\"40\" src=\"keep-ui/public/icons/flashduty-icon.png\" alt=\"Flashduty\" style=\"max-width: 100%;\"><br>\n              Flashduty\n          </a>\n      </td>\n  </tr>\n</tbody></table></markdown-accessiblity-table>\n<h3 dir=\"auto\">Ticketing Tools</h3>\n<markdown-accessiblity-table><table role=\"table\">\n<tbody><tr>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/asana-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/asana-icon.png\" alt=\"Asana\" style=\"max-width: 100%;\"><br>\n            Asana\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/github-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/github-icon.png\" alt=\"GitHub\" style=\"max-width: 100%;\"><br>\n            GitHub\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/gitlab-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/gitlab-icon.png\" alt=\"GitLab\" style=\"max-width: 100%;\"><br>\n            GitLab\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/jira-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/jira-icon.png\" alt=\"Jira\" style=\"max-width: 100%;\"><br>\n            Jira\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/linear_provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/linear-icon.png\" alt=\"Linear\" style=\"max-width: 100%;\"><br>\n            Linear\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/linearb-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/linearb-icon.png\" alt=\"LinearB\" style=\"max-width: 100%;\"><br>\n            LinearB\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/microsoft-planner-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/microsoft-planner-icon.svg\" alt=\"Microsoft Planner\" style=\"max-width: 100%;\"><br>\n            Microsoft Planner\n        </a>\n    </td>\n</tr>\n<tr>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/monday-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/monday-icon.png\" alt=\"Monday\" style=\"max-width: 100%;\"><br>\n            Monday\n        </a>\n    </td>\n  <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/redmine-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/redmine-icon.png\" alt=\"Redmine\" style=\"max-width: 100%;\"><br>\n            Redmine\n        </a>\n  </td>\n  <td align=\"center\" width=\"150\">\n      <a href=\"https://docs.keephq.dev/providers/documentation/service-now-provider\" rel=\"nofollow\">\n          <img width=\"40\" src=\"keep-ui/public/icons/servicenow-icon.png\" alt=\"ServiceNow\" style=\"max-width: 100%;\"><br>\n          ServiceNow\n      </a>\n  </td>\n  <td align=\"center\" width=\"150\">\n      <a href=\"https://docs.keephq.dev/providers/documentation/trello-provider\" rel=\"nofollow\">\n          <img width=\"40\" src=\"keep-ui/public/icons/trello-icon.png\" alt=\"Trello\" style=\"max-width: 100%;\"><br>\n          Trello\n      </a>\n  </td>\n  <td align=\"center\" width=\"150\">\n      <a href=\"https://docs.keephq.dev/providers/documentation/youtrack-provider\" rel=\"nofollow\">\n          <img width=\"40\" src=\"keep-ui/public/icons/youtrack-icon.png\" alt=\"YouTrack\" style=\"max-width: 100%;\"><br>\n          YouTrack\n      </a>\n  </td>\n</tr>\n</tbody></table></markdown-accessiblity-table>\n<h3 dir=\"auto\">Container Orchecstration Platforms</h3>\n<markdown-accessiblity-table><table role=\"table\">\n<tbody><tr>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/aks-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/aks-icon.png\" alt=\"Azure AKS\" style=\"max-width: 100%;\"><br>\n            Azure AKS\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/argocd-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/argocd-icon.png\" alt=\"ArgoCD\" style=\"max-width: 100%;\"><br>\n            ArgoCD\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/gke-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/gke-icon.png\" alt=\"GKE\" style=\"max-width: 100%;\"><br>\n            GKE\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/kubernetes-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/kubernetes-icon.png\" alt=\"Kubernetes\" style=\"max-width: 100%;\"><br>\n            Kubernetes\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/openshift-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/openshift-icon.png\" alt=\"OpenShift\" style=\"max-width: 100%;\"><br>\n            OpenShift\n        </a>\n    </td>\n</tr>\n</tbody></table></markdown-accessiblity-table>\n<h3 dir=\"auto\">Data Enrichment</h3>\n<markdown-accessiblity-table><table role=\"table\">\n<tbody><tr>\n<td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/bash-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/bash-icon.png\" alt=\"Bash\" style=\"max-width: 100%;\"><br>\n            Bash\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/openai-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/openai-icon.png\" alt=\"OpenAI\" style=\"max-width: 100%;\"><br>\n            OpenAI\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/python-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/python-icon.png\" alt=\"Python\" style=\"max-width: 100%;\"><br>\n            Python\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/quickchart-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/quickchart-icon.png\" alt=\"QuickChart\" style=\"max-width: 100%;\"><br>\n            QuickChart\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/ssh-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/ssh-icon.png\" alt=\"SSH\" style=\"max-width: 100%;\"><br>\n            SSH\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/webhook-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/webhook-icon.png\" alt=\"Webhook\" style=\"max-width: 100%;\"><br>\n            Webhook\n        </a>\n    </td>\n</tr>\n</tbody></table></markdown-accessiblity-table>\n<h3 dir=\"auto\">Workflow Orchestration</h3>\n<markdown-accessiblity-table><table role=\"table\">\n<tbody><tr>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/airflow-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/airflow-icon.png\" alt=\"Airflow\" style=\"max-width: 100%;\"><br>\n            Airflow\n        </a>\n    </td>\n</tr>\n</tbody></table></markdown-accessiblity-table>\n<h3 dir=\"auto\">Queues</h3>\n<markdown-accessiblity-table><table role=\"table\">\n<tbody><tr>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/amazonsqs-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/amazonsqs-icon.png\" alt=\"AmazonSQS\" style=\"max-width: 100%;\"><br>\n            Amazon SQS\n        </a>\n    </td>\n    <td align=\"center\" width=\"150\">\n        <a href=\"https://docs.keephq.dev/providers/documentation/kafka-provider\" rel=\"nofollow\">\n            <img width=\"40\" src=\"keep-ui/public/icons/kafka-icon.png\" alt=\"Kafka\" style=\"max-width: 100%;\"><br>\n            Kafka\n        </a>\n    </td>\n</tr>\n</tbody></table></markdown-accessiblity-table>\n<h2 dir=\"auto\">Workflows</h2>\n<p dir=\"auto\">Keep is GitHub Actions for your monitoring tools.</p>\n<p dir=\"auto\">A Keep Workflow is a declarative YAML file that automates your alert and incident management. Each workflow consists of:</p>\n<ul dir=\"auto\">\n<li><strong>Triggers</strong> - What starts the workflow (alerts, incidents, schedule or manual)</li>\n<li><strong>Steps</strong> - Read or fetch data (enrichment, context)</li>\n<li><strong>Actions</strong> - Execute operations (update tickets, send notifications, restart servers)</li>\n</ul>\n<p dir=\"auto\">Here's a simple workflow that creates a Jira ticket for every <code class=\"notranslate\">critical</code> alert from <code class=\"notranslate\">sentry</code> for <code class=\"notranslate\">payments</code> and <code class=\"notranslate\">api</code> services.</p>\n<p dir=\"auto\">For more workflows, see <a href=\"https://github.com/keephq/keep/tree/main/examples/workflows\">here</a>.</p>\n<div class=\"highlight highlight-source-yaml notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"workflow:\n  id: sentry-alerts\n  description: create ticket alerts for critical alerts from sentry\n  triggers:\n    - type: alert\n      # customize the filter to run only on critical alert from sentry\n      filters:\n        - key: source\n          value: sentry\n        - key: severity\n          value: critical\n        # regex to match specific services\n        - key: service\n          value: r&quot;(payments|ftp)&quot;\n  actions:\n    - name: send-slack-message-team-payments\n      # if the alert is on the payments service, slack the payments team\n      if: &quot;'{{ alert.service }}' == 'payments'&quot;\n      provider:\n        type: slack\n        # control which Slack configuration you want to use\n        config: &quot; {{ providers.team-payments-slack }} &quot;\n        # customize the alert message with context from {{ alert }} or any other {{ step }}\n        with:\n          message: |\n            &quot;A new alert from Sentry: Alert: {{ alert.name }} - {{ alert.description }}\n            {{ alert}}&quot;\n    - name: create-jira-ticket-oncall-board\n      # control the workflow flow with &quot;if&quot; and &quot;foreach&quot; statements\n      if: &quot;'{{ alert.service }}' == 'ftp' and not '{{ alert.ticket_id }}'&quot;\n      provider:\n        type: jira\n        config: &quot; {{ providers.jira }} &quot;\n        with:\n          board_name: &quot;Oncall Board&quot;\n          custom_fields:\n            customfield_10201: &quot;Critical&quot;\n          issuetype: &quot;Task&quot;\n          # customize the summary\n          summary: &quot;{{ alert.name }} - {{ alert.description }} (created by Keep)&quot;\n          description: |\n            &quot;This ticket was created by Keep.\n            Please check the alert details below:\n            {code:json} {{ alert }} {code}&quot;\n          # enrich the alerts with more context. from now on, the alert will be assigned with the ticket id, type and url\n          enrich_alert:\n            - key: ticket_type\n              value: jira\n            - key: ticket_id\n              value: results.issue.key\n            - key: ticket_url\n              value: results.ticket_url\"><pre class=\"notranslate\"><span class=\"pl-ent\">workflow</span>:\n  <span class=\"pl-ent\">id</span>: <span class=\"pl-s\">sentry-alerts</span>\n  <span class=\"pl-ent\">description</span>: <span class=\"pl-s\">create ticket alerts for critical alerts from sentry</span>\n  <span class=\"pl-ent\">triggers</span>:\n    - <span class=\"pl-ent\">type</span>: <span class=\"pl-s\">alert</span>\n      <span class=\"pl-c\"><span class=\"pl-c\">#</span> customize the filter to run only on critical alert from sentry</span>\n      <span class=\"pl-ent\">filters</span>:\n        - <span class=\"pl-ent\">key</span>: <span class=\"pl-s\">source</span>\n          <span class=\"pl-ent\">value</span>: <span class=\"pl-s\">sentry</span>\n        - <span class=\"pl-ent\">key</span>: <span class=\"pl-s\">severity</span>\n          <span class=\"pl-ent\">value</span>: <span class=\"pl-s\">critical</span>\n        <span class=\"pl-c\"><span class=\"pl-c\">#</span> regex to match specific services</span>\n        - <span class=\"pl-ent\">key</span>: <span class=\"pl-s\">service</span>\n          <span class=\"pl-ent\">value</span>: <span class=\"pl-s\">r\"(payments|ftp)\"</span>\n  <span class=\"pl-ent\">actions</span>:\n    - <span class=\"pl-ent\">name</span>: <span class=\"pl-s\">send-slack-message-team-payments</span>\n      <span class=\"pl-c\"><span class=\"pl-c\">#</span> if the alert is on the payments service, slack the payments team</span>\n      <span class=\"pl-ent\">if</span>: <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>'{{ alert.service }}' == 'payments'<span class=\"pl-pds\">\"</span></span>\n      <span class=\"pl-ent\">provider</span>:\n        <span class=\"pl-ent\">type</span>: <span class=\"pl-s\">slack</span>\n        <span class=\"pl-c\"><span class=\"pl-c\">#</span> control which Slack configuration you want to use</span>\n        <span class=\"pl-ent\">config</span>: <span class=\"pl-s\"><span class=\"pl-pds\">\"</span> {{ providers.team-payments-slack }} <span class=\"pl-pds\">\"</span></span>\n        <span class=\"pl-c\"><span class=\"pl-c\">#</span> customize the alert message with context from {{ alert }} or any other {{ step }}</span>\n        <span class=\"pl-ent\">with</span>:\n          <span class=\"pl-ent\">message</span>: <span class=\"pl-s\">|</span>\n<span class=\"pl-s\">            \"A new alert from Sentry: Alert: {{ alert.name }} - {{ alert.description }}</span>\n<span class=\"pl-s\">            {{ alert}}\"</span>\n<span class=\"pl-s\"></span>    - <span class=\"pl-ent\">name</span>: <span class=\"pl-s\">create-jira-ticket-oncall-board</span>\n      <span class=\"pl-c\"><span class=\"pl-c\">#</span> control the workflow flow with \"if\" and \"foreach\" statements</span>\n      <span class=\"pl-ent\">if</span>: <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>'{{ alert.service }}' == 'ftp' and not '{{ alert.ticket_id }}'<span class=\"pl-pds\">\"</span></span>\n      <span class=\"pl-ent\">provider</span>:\n        <span class=\"pl-ent\">type</span>: <span class=\"pl-s\">jira</span>\n        <span class=\"pl-ent\">config</span>: <span class=\"pl-s\"><span class=\"pl-pds\">\"</span> {{ providers.jira }} <span class=\"pl-pds\">\"</span></span>\n        <span class=\"pl-ent\">with</span>:\n          <span class=\"pl-ent\">board_name</span>: <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>Oncall Board<span class=\"pl-pds\">\"</span></span>\n          <span class=\"pl-ent\">custom_fields</span>:\n            <span class=\"pl-ent\">customfield_10201</span>: <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>Critical<span class=\"pl-pds\">\"</span></span>\n          <span class=\"pl-ent\">issuetype</span>: <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>Task<span class=\"pl-pds\">\"</span></span>\n          <span class=\"pl-c\"><span class=\"pl-c\">#</span> customize the summary</span>\n          <span class=\"pl-ent\">summary</span>: <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>{{ alert.name }} - {{ alert.description }} (created by Keep)<span class=\"pl-pds\">\"</span></span>\n          <span class=\"pl-ent\">description</span>: <span class=\"pl-s\">|</span>\n<span class=\"pl-s\">            \"This ticket was created by Keep.</span>\n<span class=\"pl-s\">            Please check the alert details below:</span>\n<span class=\"pl-s\">            {code:json} {{ alert }} {code}\"</span>\n<span class=\"pl-s\"></span>          <span class=\"pl-c\"><span class=\"pl-c\">#</span> enrich the alerts with more context. from now on, the alert will be assigned with the ticket id, type and url</span>\n          <span class=\"pl-ent\">enrich_alert</span>:\n            - <span class=\"pl-ent\">key</span>: <span class=\"pl-s\">ticket_type</span>\n              <span class=\"pl-ent\">value</span>: <span class=\"pl-s\">jira</span>\n            - <span class=\"pl-ent\">key</span>: <span class=\"pl-s\">ticket_id</span>\n              <span class=\"pl-ent\">value</span>: <span class=\"pl-s\">results.issue.key</span>\n            - <span class=\"pl-ent\">key</span>: <span class=\"pl-s\">ticket_url</span>\n              <span class=\"pl-ent\">value</span>: <span class=\"pl-s\">results.ticket_url</span></pre></div>\n<h2 dir=\"auto\">Enterprise Ready</h2>\n<ul dir=\"auto\">\n<li><strong>Developer First</strong> - Modern REST APIs, native SDKs, and comprehensive documentation for seamless integration</li>\n<li><strong><a href=\"https://docs.keephq.dev/deployment/authentication/overview\" rel=\"nofollow\">Enterprise Security</a></strong> - Full authentication support (SSO, SAML, OIDC, LDAP) with granular access control (RBAC, ABAC) and team management</li>\n<li><strong>Flexible Deployment</strong> - Deploy on-premises or in air-gapped environments with cloud-agnostic architecture</li>\n<li><strong><a href=\"https://docs.keephq.dev/deployment/stress-testing\" rel=\"nofollow\">Production Scale</a></strong> - High availability, performance-tested infrastructure supporting horizontal scaling for enterprise workloads</li>\n</ul>\n<h2 dir=\"auto\">Getting Started</h2>\n<blockquote>\n<p dir=\"auto\">Need help? Can't find your environment listed? Reach out on Slack and we'll help you quickly.</p>\n</blockquote>\n<p dir=\"auto\">Keep can run in various environments and configurations. The easiest way to start is with Keep's Docker Compose.</p>\n<ul dir=\"auto\">\n<li>Running Keep <a href=\"https://docs.keephq.dev/development/getting-started\" rel=\"nofollow\">locally</a>.</li>\n<li>Running Keep on <a href=\"https://docs.keephq.dev/deployment/kubernetes/installation\" rel=\"nofollow\">Kubernetes</a>.</li>\n<li>Running Keep with <a href=\"https://docs.keephq.dev/deployment/docker\" rel=\"nofollow\">Docker</a>.</li>\n<li>Running Keep on <a href=\"https://docs.keephq.dev/deployment/ecs\" rel=\"nofollow\">AWS ECS</a>.</li>\n<li>Running Keep on <a href=\"https://docs.keephq.dev/deployment/kubernetes/openshift\" rel=\"nofollow\">OpenShift</a>.</li>\n</ul>\n<h2 dir=\"auto\">🫵 Keepers</h2>\n<h3 dir=\"auto\">Top Contributors</h3>\n<p dir=\"auto\">A special thanks to our top contributors who help us make Keep great. You are more than awesome!</p>\n<ul dir=\"auto\">\n<li><a href=\"https://github.com/pehlicd\">Furkan</a></li>\n<li><a href=\"https://github.com/asharonbaltazar\">Asharon</a></li>\n</ul>\n<p dir=\"auto\">Want to become a top contributor? Join our Slack and DM Tal, Shahar, or Furkan.</p>\n<h3 dir=\"auto\">Contributors</h3>\n<p dir=\"auto\">Thank you for contributing and continuously making <b>Keep</b> better, <b>you're awesome</b> 🫶</p>\n<a href=\"https://github.com/keephq/keep/graphs/contributors\">\n  <img src=\"https://camo.githubusercontent.com/877cad20c861d898edf4b25400414bfab860c4569bb16f9f1ab07d5d5dacf324/68747470733a2f2f636f6e747269622e726f636b732f696d6167653f7265706f3d6b65657068712f6b656570\" data-canonical-src=\"https://contrib.rocks/image?repo=keephq/keep\" style=\"max-width: 100%;\">\n</a>","updatedAt":"2025-05-21T16:05:24Z","upvoteCount":null,"author":{"login":"eryajf","avatarUrl":"https://avatars.githubusercontent.com/u/33259379?u=e4a4090a38ac2473aaed4ef9945233636776c6c3&v=4","url":"https://github.com/eryajf"},"category":null,"labels":{"edges":[{"node":{"name":"更多","color":"25B472"}},{"node":{"name":"Monitor","color":"533a1e"}},{"node":{"name":"keephq","color":"35357d"}}]},"comments":{"edges":[]}}},"pageContext":{"number":278,"previous":{"title":"kedacore/keda: KEDA 是一个基于 Kubernetes 的事件驱动自动伸缩组件。它为在 Kubernetes 中运行的任何容器提供基于事件的伸缩能力。","number":277},"next":{"title":"kubewharf/kelemetry: 将 Kubernetes 事件、审计日志、通知者等各种数据源聚合成传统追踪的形式，通过 Jaeger UI 实现可视化和自动分析。","number":279}}},
    "staticQueryHashes": ["151096407","2861350382"]}