{
    "componentChunkName": "component---src-templates-issues-tsx",
    "path": "/issues/356",
    "result": {"data":{"issuesJson":{"id":"f98970a1-677a-53ef-b133-c3fc4cc609a7","title":"loggie-io/loggie:  一个基于 Golang 的轻量级、高性能、云原生日志采集 Agent 和中转处理 Aggregator，支持多 Pipeline 和组件热插拔 ","number":356,"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/loggie-io/loggie\">loggie-io/loggie</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/955668d0774c75174e58c714c8cc81733808ded1c3a887a1f54e0dfa9abdb4c5/68747470733a2f2f76696577732e77686174696c656172656e65642e746f6461792f76696577732f6769746875622f6c6f676769652d696f2f6c6f676769652e737667\" alt=\"views\" data-canonical-src=\"https://views.whatilearened.today/views/github/loggie-io/loggie.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/833180e9dabc89bd3e7d100ec452f7f704b68bfb72157b9ba1608f8186fbbf3d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6c6f676769652d696f2f6c6f676769653f636f6c6f723d663266303864266c6f676f3d556e64657274616c65266c6f676f436f6c6f723d656234363330\" alt=\"stars\" data-canonical-src=\"https://img.shields.io/github/stars/loggie-io/loggie?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/13002c54efd8d2005c7290edd305a98819a46b19c20f3ea91b3adae5c9350240/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6c6f676769652d696f2f6c6f676769653f636f6c6f723d626138366562266c6f676f3d48616e647368616b65266c6f676f436f6c6f723d656136616136\" alt=\"forks\" data-canonical-src=\"https://img.shields.io/github/forks/loggie-io/loggie?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/84503683d08ce40221dd799ad5397277424dbfe1d82234e1c826863d96ef6d1c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6c6f676769652d696f2f6c6f676769653f6c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e53556845556741414144414141414177434159414141425841766d48414141414358424957584d41414173544141414c457745416d70775941414144336b6c45515652346e4f335953557a5555426748384a726f57567255474a66456d3773584e63534446784d544c327069347348456778654e526f77586770455742445552522532424e414e4f4b4f4b36366f6f4b4a4742586545475263574163455646475152484677516d483525324630774861655748493944554455354c356b6e6568644f62377a66652532423139636e434a47495243516945596c514237594a4979474c38616f73756c565a36695246516a69474b6b7564576735614c6c704f70704e586e665071773555304459524a6d56786a4367464633424c755a476d416f5655694b4541726d583744375553677351706f72674761336748664b34483663754262435644334771683141352532424c6745253242467749656e514d306a6f446f66714c6f48564e7742796d384370546e416d327a51713073676478624964515a556c416b7150415a3664676a303541446f59526f6f66792532466f5869726f376b3551586a4c6f70677a4b69514e6c4c4461716f4967754577426a7a7150355066446a45394479495879493633464d547751464d43567271774e61763451666f52673538514625324266724d485172454b3844546f434d714e4179574e4866786d54526f4c4f726d5352566747744466714345715a4f4851727a6f34706243557341333431365169364551394b476a6345465267484f724f4b6e5536574162396247455459656b4b7843766a546167394534706a653534446b3551503862624d4859762532464333756541654a6b50304f4778422532424a70426e4172595238455951516e6f4e31414e4661426e5050356c385372736559514c303641646b30464a5938484f5761424d6c6541486a683068506f73497a6c6f3876304125324633345a694f6548726130714b52504d5653493774762532423932747725324676687855654252713456454c674d376642714b354770526d6f514c584e7075625475367a6f4e52706754386e5051627138347764253246494375767978694b4871694e41664933774d367549684271476b4c696977414f734b44714f68743749747239567938536a52424557667941627225324668523142667056514664484a42253246423268683778376a36517077435665655951326b72554235436c636a3641326d3067576a25324244306d4c34397a573563517943484c4e37726a6c6d6d6174457958582532464372547a412532466f51785a6b576c39474a5443566f25324279546a3837253242346769504b6376307149486f344156344430565a727251493334706e70524d36357875652532467a417265453425324654253246536f676c664542794d7369517441546c4c3352414a355948725378365a44665337307337754d486842705225324659423573305057366f455270316236253246667252684b3353444c35546965364f515548516c5133735644752532427a50636b397657453973747225324236496a533967486d5750616861444a25324277434b364e494242587348423948796b587378774470686c436d416476706c6162554a4e6e5a504239342532464e7436784f6538587a4562503257684d335741673147756236744825324233513150673337365239713475716c6e6f36676448476a444f5139306562303141484d3672596975554a314f713472344656756a35765239427a4d3957674e764f7977446869495951467667626366774166774d764863615067425041253246447948476a50624e394138616d6562636477416444354e6633373574787165774e5552656f797677424958594c645170576c6877465771745061435044334173467541535636717171496c62304a766b564331464c39576b4c55556c55574b337a585a4c46432532423125324642726f46746f364f7358497545594a5034447a7a5732594656316f4a614141414141456c46546b5375516d4343\" alt=\"license\" data-canonical-src=\"https://img.shields.io/github/license/loggie-io/loggie?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAD3klEQVR4nO3YSUzUUBgH8JroWVrUGJfEm7sXNcSDFxMTL2pi4sHEgxeNRowXgpEWBDURR%2BNANOKOK66ooKJGBXeEGRcWAcEVFGQRHFwQmH5%2F0wHaeWHI9DUDU5L5knehdOb7zfe%2B19cnCJGIRCQiEYlQB7YJIyGL8aosulVZ6iRFQjiGKkudWg5aLlpOppNXnfPqw5U0DYRJmVxjCgFF3BLuZGmAoVUiKEArmX7D7USgsQporgGa3gHfK4H6cuBbCVD3Gqh1A5%2BLgE%2BFwIenQM0joDofqLoHVNwBym8CpTnAm2zQq0sgdxbIdQZUlAkqPAZ6dgj05ADoYRoofy%2FoXiro7k5QXjLopgzKiQNlLDaqoIguEwBjzqP5PfDjE9DyIXyI63FMTwQFMCVrqwNav4QfoRg58QF%2BfrMHQrEK8DToCMqNAyWNHfxmTRoLOrmSRVgGtDfqCEqZOHQrzo4pbCUsA3416Qi6EQ9KGjcEFRgHOrOKnU6WAb9bGETYekKxCvjTag9E4pje54Dk5QP8bbMHYv%2FC3ueAeJkP0OGxB%2BJpBnArYR8EYQQnoN1ANFaBnPP5l8SrseYQL06Adk0FJY8HOWaBMleAHjh0hPosIzlo8v0A%2F34ZiOeHra0qKRPMVSI7tv%2B92tw%2FvhxUeBRq4VELgM7fBqK5GpRmoQLXNpubTu6zoNRpgT8nPQbq84wd%2FICuvyxiKHqiNAfI3wM6uIhBqGkLiiwAOsKDqOht7Itr9Vy8SjRBEWfyAbr%2FhR1BfpVQFdHJB%2FB2hh7x7j6QpwCVeeYQ2krUB5Clcj6A2m0gWj%2BD0mL49zW5cQyCHLN7rjlmmatEyXX%2FCrTzA%2FoQxZkWl9GJTCVo%2ByTj87%2B4giPKcv0qIHo4AV4D0VZrrQI34pnpRM65xue%2FzAreE4%2FT%2FSoglfEByMsiQtATlL3RAJ5YHrSx6ZDfS70s7uMHhBpR%2FYB5s0PW6oERp1b6%2FfrRhK3SDL5Tie6OQUHQlQ3sVDu%2BzPck9vWE9str%2B6IjS9gHmWPahaDJ%2BwCK6NIBBXsHB9HykXsxwDphlCmAdvplabUJNnZPB94%2FNt6xOe8XzEbP2WhM3WAg1Gub6tH%2B3Q1Pg376R9q4uqlno6gdHGjDOQ90eb01AHM6rYiuUJ1Oq4r4FVuj5vR9BzM9WgNvOywDhiIYQFvgbcfwAfwMvHcaPgBPA%2FDyHGjPbN9A8amebcdwAdD5Nf375txqewNUReoyvwBIXYLdQpWlhwFWqtPaCPD3AsFuASV6qqqIlb0JvkVC1FL9WkLUUlUWK3zXZLFC%2B1%2FBroFto6OsXIuEYJP4DzzW2YFV1oJaAAAAAElFTkSuQmCC\" 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/df1965c4520b47105045f340390a319ac0e42861a63815e3035416b5bf3cdbf9/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f6c6f676769652d696f2f6c6f676769653f646973706c61795f74696d657374616d703d636f6d6d6974746572266c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e5355684555674141414234414141416543415941414141374d4b3669414141414358424957584d41414173544141414c457745416d7077594141414648556c45515652346e4c5658375539615678776d3236646c582532466468627825324232253246516e626b7655627264554151674a4a496655444e574454546d4f76314651554661504a346b7573725630314a7431734e70637453327533626f745a746d786439744a5346536f714b71494635625944464c436f76436c656673747a4a387758524c445a4c7a6e6b634f343535376e3364332532466e655a3472454f515a74315771462532423858467234253242664f4c4565326a6f59307a776638546f795a50766a45676b4c592532426b306d6d72584f36644b696e787a476b30666a5430782532425279723055716e6359637a4d317263347451253242497270324c4758646f344e4334567657715453373277716c632532427231334f527269364b6458646e624f484c6c776c7a4a70524b6e3657342532424b36706f4f434e6e494166486a253246253242776168495a4234764b6e715a6630714a704e49716c2532467638545530634e6c3572627963337730516e54703379324c54614a374d314e617844723266526e315370504736476961323174664533345463614f617931694d55564f5146624659714957536f31573854694156616e43306576584f4542375770313448466232327a453566714c4f433545524c515769644e614e49347545636339693768634a6c644868324e57725135674464624f6c7061756d49754c62326174415144506e7a3062384e6257636d785656524a33486d7870536377777a4f4a6d4b44524765384c6c435a444c4739673754496e5631516c376462586256316533675430574b697243466f6d6b5079767758466c5a474a4f6a563625324253743634757564445a4f55354555636f782532464d455144567674364d62634e3237593341797a687633737061557242365a3971724a534f3139657a6a387032704c426b4a792532426343484a7857493567573574636652527a31645531394766476b6f7539505a4f34736d52396a4746777065783444793362766e6d4b79706f74625531335669646a71595a68726a343972764d457425324625324659714c7a396430304e6a57253246637a67796f394f35317a7336614e6c6f354644747530445a675146686c47584a30644241446f4e6864367576703657686f617967374e394c564748386d443462253246486e667455516f4e4734764c51306769784d716c5725324234714f6a744e48446733723166365969525347785279375576714c62395534716b716e78504f4e7661356c447048723125324279794b524e4b57425a793565644d554842326d3572792532422532424551772532427a6766347a6f39253246306f634e3357527a4c4277344a2532424a7950574372716d4967475974554f735744346f785a46516f50556a4770564871493425324661666b51504336665a5165654d31253242764c7549516e6a754257514444437363726d485039656f4e5041744271664f6e5875614b25324268364a45624772732532427076764d6d78654962683836336162565065597953456f39464a48704e4d464a59253242503563575a6b6667374f3174537759436553514c54593345385130392532464256504a556c78516a7368543142736343593032723955445542667643484236367063665041336c794165336e6772332532463437584467614a7a736c7937787741364e5a746c555550437541487161536a5549502532427375653842525741432532464e6651374a5a505a35397330476a3756747049537a34685125324243706658474d4b685a63764c70554b7866574d386f68766637702532464f446a4842666356463849736b383267314648796b63564645253242555a414158343761452532464d6c34504f3530506e75683025324678346e6d637957507364774468427836436d6b4c562532466746446a594b784f4a4f4674623077517949684c39527943774b33414f664947703159464542686e4d4a634c525745624b644b516f55366e63545a6b494544696341792532463831645675454d3552775066657934784f7830496b25324649324e6e466b692532425761664f6f464959466367595a43797864376543556a626334416d46363566742532466b4d686b336f25324235686337734d4a79716a4a45477659466151464972375930775077384246415925324236253242766d6b3377367a7a5275444d6d5a5652736668385274413075455453443775434254364459514e36697665553066706b594c6a453671725672744f78654e4b553954484c5a4a396b4255324a427342685635416976422532466f4b61514e4b675043427744596149665a4334616454684f71463457454e56694c4a77566f586f62664c424b56773637414f6154734c6336355461564b32317651344c613939654b6359673576627873624f627a5451394e37554b4467554f3177446a6944494942736868357a746733396e514d4c535a4248344f7a424f55444551586d323036643366634c67737762585141345068634b336e6873775531427a3877765130395248472532466f597933656a6677424e6d746f59714c4130586741414141424a52553545726b4a676767253344253344266c6162656c3d557064617465644174\" alt=\"last-commit\" data-canonical-src=\"https://img.shields.io/github/last-commit/loggie-io/loggie?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/7c2bb1cb7a2af505725278d4d3f79616e99e3e0db1db09ae3cf4c4ef65f85e7c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f637265617465642d61742f6c6f676769652d696f2f6c6f676769653f6c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e5355684555674141414234414141416543415941414141374d4b3669414141414358424957584d41414173544141414c457745416d7077594141414648556c45515652346e4c5658375539615678776d3236646c582532466468627825324232253246516e626b7655627264554151674a4a496655444e574454546d4f76314651554661504a346b7573725630314a7431734e70637453327533626f745a746d786439744a5346536f714b71494635625944464c436f76436c656673747a4a387758524c445a4c7a6e6b634f343535376e3364332532466e655a3472454f515a74315771462532423858467234253242664f4c4565326a6f59307a776638546f795a50766a45676b4c592532426b306d6d72584f36644b696e787a476b30666a5430782532425279723055716e6359637a4d317263347451253242497270324c4758646f344e4334567657715453373277716c632532427231334f527269364b6458646e624f484c6c776c7a4a70524b6e3657342532424b36706f4f434e6e494166486a253246253242776168495a4234764b6e715a6630714a704e49716c2532467638545530634e6c3572627963337730516e54703379324c54614a374d314e617844723266526e315370504736476961323174664533345463614f617931694d55564f5146624659714957536f31573854694156616e43306576584f4542375770313448466232327a453566714c4f433545524c515769644e614e49347545636339693768634a6c644868324e57725135674464624f6c7061756d49754c62326174415144506e7a3062384e6257636d785656524a33486d7870536377777a4f4a6d4b44524765384c6c435a444c4739673754496e5631516c376462586256316533675430574b697243466f6d6b5079767758466c5a474a4f6a563625324253743634757564445a4f55354555636f782532464d455144567674364d62634e3237593341797a687633737061557242365a3971724a534f3139657a6a387032704c426b4a792532426343484a7857493567573574636652527a31645531394766476b6f7539505a4f34736d52396a4746777065783444793362766e6d4b79706f74625531335669646a71595a68726a343972764d457425324625324659714c7a396430304e6a57253246637a67796f394f35317a7336614e6c6f354644747530445a675146686c47584a30644241446f4e6864367576703657686f617967374e394c564748386d443462253246486e667455516f4e4734764c51306769784d716c5725324234714f6a744e48446733723166365969525347785279375576714c62395534716b716e78504f4e7661356c447048723125324279794b524e4b57425a793565644d554842326d3572792532422532424551772532427a6766347a6f39253246306f634e3357527a4c4277344a2532424a7950574372716d4967475974554f735744346f785a46516f50556a4770564871493425324661666b51504336665a5165654d31253242764c7549516e6a754257514444437363726d485039656f4e5041744271664f6e5875614b25324268364a45624772732532427076764d6d78654962683836336162565065597953456f39464a48704e4d464a59253242503563575a6b6667374f3174537759436553514c54593345385130392532464256504a556c78516a7368543142736343593032723955445542667643484236367063665041336c794165336e6772332532463437584467614a7a736c7937787741364e5a746c555550437541487161536a5549502532427375653842525741432532464e6651374a5a505a35397330476a3756747049537a34685125324243706658474d4b685a63764c70554b7866574d386f68766637702532464f446a4842666356463849736b383267314648796b63564645253242555a414158343761452532464d6c34504f3530506e75683025324678346e6d637957507364774468427836436d6b4c562532466746446a594b784f4a4f4674623077517949684c39527943774b33414f664947703159464542686e4d4a634c525745624b644b516f55366e63545a6b494544696341792532463831645675454d3552775066657934784f7830496b25324649324e6e466b692532425761664f6f464959466367595a43797864376543556a626334416d46363566742532466b4d686b336f25324235686337734d4a79716a4a45477659466151464972375930775077384246415925324236253242766d6b3377367a7a5275444d6d5a5652736668385274413075455453443775434254364459514e36697665553066706b594c6a453671725672744f78654e4b553954484c5a4a396b4255324a427342685635416976422532466f4b61514e4b675043427744596149665a4334616454684f71463457454e56694c4a77566f586f62664c424b56773637414f6154734c6336355461564b32317651344c613939654b6359673576627873624f627a5451394e37554b4467554f3177446a6944494942736868357a746733396e514d4c535a4248344f7a424f55444551586d323036643366634c67737762585141345068634b336e6873775531427a3877765130395248472532466f597933656a6677424e6d746f59714c4130586741414141424a52553545726b4a676767253344253344266c6162656c3d437265617465644174\" alt=\"create-at\" data-canonical-src=\"https://img.shields.io/github/created-at/loggie-io/loggie?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<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/loggie-io/loggie/blob/main/logo/loggie-draw.png\"><img src=\"https://github.com/loggie-io/loggie/blob/main/logo/loggie-draw.png\" width=\"250\" style=\"max-width: 100%;\"></a></p>\n<p dir=\"auto\"><a href=\"https://loggie-io.github.io/docs/\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/65c1b21d1990120195e01d38f699314b8099b91c3ec194b3dc91f75e8feec2c7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f676f2e6465762d7265666572656e63652d3030376439633f6c6f676f3d676f266c6f676f436f6c6f723d7768697465\" alt=\"go.dev reference\" data-canonical-src=\"https://img.shields.io/badge/go.dev-reference-007d9c?logo=go&amp;logoColor=white\" style=\"max-width: 100%;\"></a><br>\n<a href=\"https://bestpractices.coreinfrastructure.org/projects/569\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/1b16394a48130de08d4407f1f08e837a038be434d5665c3f67b1f0697763f242/68747470733a2f2f626573747072616374696365732e636f7265696e6672617374727563747572652e6f72672f70726f6a656374732f3536392f6261646765\" alt=\"CII Best Practices\" data-canonical-src=\"https://bestpractices.coreinfrastructure.org/projects/569/badge\" style=\"max-width: 100%;\"></a><br>\n<a href=\"https://hub.docker.com/r/loggieio/loggie/\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/0938a04601b772c93aff3a6a3c043097e83fc501389e1c752dfd49c35ab83c62/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f636b65724875622d6c6f67676965696f2532466c6f676769652d396366\" alt=\"dockerHub\" data-canonical-src=\"https://img.shields.io/badge/dockerHub-loggieio%2Floggie-9cf\" style=\"max-width: 100%;\"></a></p>\n<blockquote>\n<p dir=\"auto\">English | <a href=\"./README_cn.md\">中文</a></p>\n</blockquote>\n<p dir=\"auto\">Loggie is a lightweight, high-performance, cloud-native agent and aggregator based on Golang.</p>\n<ul dir=\"auto\">\n<li>Supports multiple pipeline and pluggable components, including data transfer, filtering, parsing, and alerting.</li>\n<li>Uses native Kubernetes CRD for operation and management.</li>\n<li>Offers a range of observability, reliability, and automation features suitable for production environments.</li>\n</ul>\n<p dir=\"auto\">Based on Loggie, we can build a cloud-native scalable log data platform.</p>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/dfd668455dd25d4f999645588d3d60fe2fcd73b908846199655f1584743cbaba/68747470733a2f2f6c6f676769652d696f2e6769746875622e696f2f646f63732f757365722d67756964652f656e74657270726973652d70726163746963652f696d67732f6c6f676769652d657874656e642e706e67\"><img src=\"https://camo.githubusercontent.com/dfd668455dd25d4f999645588d3d60fe2fcd73b908846199655f1584743cbaba/68747470733a2f2f6c6f676769652d696f2e6769746875622e696f2f646f63732f757365722d67756964652f656e74657270726973652d70726163746963652f696d67732f6c6f676769652d657874656e642e706e67\" alt=\"\" data-canonical-src=\"https://loggie-io.github.io/docs/user-guide/enterprise-practice/imgs/loggie-extend.png\" style=\"max-width: 100%;\"></a></p>\n<h2 dir=\"auto\">Features</h2>\n<h3 dir=\"auto\">Next-generation cloud-native log collection and transmission</h3>\n<h4 dir=\"auto\">Building pipelines based on CRD</h4>\n<p dir=\"auto\">Loggie includes LogConfig/ClusterLogConfig/Interceptor/Sink CRDs, allowing for the creation of data collection, transfer, processing, and sending pipelines through simple YAML file creation.</p>\n<p dir=\"auto\">eg:</p>\n<div class=\"highlight highlight-source-yaml notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"apiVersion: loggie.io/v1beta1\nkind: LogConfig\nmetadata:\n  name: tomcat\n  namespace: default\nspec:\n  selector:\n    type: pod\n    labelSelector:\n      app: tomcat\n  pipeline:\n    sources: |\n      - type: file\n        name: common\n        paths:\n          - stdout\n          - /usr/local/tomcat/logs/*.log\n    sinkRef: default\n    interceptorRef: default\"><pre class=\"notranslate\"><span class=\"pl-ent\">apiVersion</span>: <span class=\"pl-s\">loggie.io/v1beta1</span>\n<span class=\"pl-ent\">kind</span>: <span class=\"pl-s\">LogConfig</span>\n<span class=\"pl-ent\">metadata</span>:\n  <span class=\"pl-ent\">name</span>: <span class=\"pl-s\">tomcat</span>\n  <span class=\"pl-ent\">namespace</span>: <span class=\"pl-s\">default</span>\n<span class=\"pl-ent\">spec</span>:\n  <span class=\"pl-ent\">selector</span>:\n    <span class=\"pl-ent\">type</span>: <span class=\"pl-s\">pod</span>\n    <span class=\"pl-ent\">labelSelector</span>:\n      <span class=\"pl-ent\">app</span>: <span class=\"pl-s\">tomcat</span>\n  <span class=\"pl-ent\">pipeline</span>:\n    <span class=\"pl-ent\">sources</span>: <span class=\"pl-s\">|</span>\n<span class=\"pl-s\">      - type: file</span>\n<span class=\"pl-s\">        name: common</span>\n<span class=\"pl-s\">        paths:</span>\n<span class=\"pl-s\">          - stdout</span>\n<span class=\"pl-s\">          - /usr/local/tomcat/logs/*.log</span>\n<span class=\"pl-s\"></span>    <span class=\"pl-ent\">sinkRef</span>: <span class=\"pl-s\">default</span>\n    <span class=\"pl-ent\">interceptorRef</span>: <span class=\"pl-s\">default</span></pre></div>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/69fdfdf94f373b000f3ac47c60808add41d2492215afd1228be57ce50e134549/68747470733a2f2f6c6f676769652d696f2e6769746875622e696f2f646f63732f757365722d67756964652f7573652d696e2d6b756265726e657465732f696d67732f6c6f676769652d6372642d75736167652e706e67\"><img src=\"https://camo.githubusercontent.com/69fdfdf94f373b000f3ac47c60808add41d2492215afd1228be57ce50e134549/68747470733a2f2f6c6f676769652d696f2e6769746875622e696f2f646f63732f757365722d67756964652f7573652d696e2d6b756265726e657465732f696d67732f6c6f676769652d6372642d75736167652e706e67\" alt=\"crd-usage\" data-canonical-src=\"https://loggie-io.github.io/docs/user-guide/use-in-kubernetes/imgs/loggie-crd-usage.png\" style=\"max-width: 100%;\"></a></p>\n<h4 dir=\"auto\">Multiple architectures</h4>\n<ul dir=\"auto\">\n<li>\n<p dir=\"auto\"><strong>Agent</strong>: Deployed via DaemonSet, Loggie can collect log files without the need for containers to mount volumes.</p>\n</li>\n<li>\n<p dir=\"auto\"><strong>Sidecar</strong>: Supports non-intrusive auto-injection of Loggie sidecars, without the need to manually add them to the Deployment/StatefulSet templates.</p>\n</li>\n<li>\n<p dir=\"auto\"><strong>Aggregator</strong>: Supports deployment as an independent intermediate machine, which can receive aggregated data sent by Loggie Agent and can also be used to consume and process various data sources.</p>\n</li>\n</ul>\n<p dir=\"auto\">But regardless of the deployment architecture, Loggie still maintains a simple and intuitive internal design.</p>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/8cb19d837c5a40aa8cb12de7fb7668e51f6e202f7dc7a780fa6de44150e29495/68747470733a2f2f6c6f676769652d696f2e6769746875622e696f2f646f63732f67657474696e672d737461727465642f696d67732f6c6f676769652d617263682e706e67\"><img src=\"https://camo.githubusercontent.com/8cb19d837c5a40aa8cb12de7fb7668e51f6e202f7dc7a780fa6de44150e29495/68747470733a2f2f6c6f676769652d696f2e6769746875622e696f2f646f63732f67657474696e672d737461727465642f696d67732f6c6f676769652d617263682e706e67\" alt=\"\" data-canonical-src=\"https://loggie-io.github.io/docs/getting-started/imgs/loggie-arch.png\" style=\"max-width: 100%;\"></a></p>\n<h3 dir=\"auto\">High Performance</h3>\n<h4 dir=\"auto\">Benchmark</h4>\n<p dir=\"auto\">Configure Filebeat and Loggie to collect logs, and send them to a Kafka topic without using client compression, with the Kafka topic partition configured as 3.</p>\n<p dir=\"auto\">With sufficient resources for the Agent specification, modify the number of files collected, the concurrency of the sending client (configure Filebeat worker and Loggie parallelism), and observe their respective CPU, memory, and pod network card transmission rates.</p>\n<markdown-accessiblity-table><table role=\"table\">\n<thead>\n<tr>\n<th>Agent</th>\n<th>File Size</th>\n<th>File Count</th>\n<th>Sink Concurrency</th>\n<th>CPU</th>\n<th>MEM (rss)</th>\n<th>Transmission Rates</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Filebeat</td>\n<td>3.2G</td>\n<td>1</td>\n<td>3</td>\n<td>7.5~8.5c</td>\n<td>63.8MiB</td>\n<td>75.9MiB/s</td>\n</tr>\n<tr>\n<td>Filebeat</td>\n<td>3.2G</td>\n<td>1</td>\n<td>8</td>\n<td>10c</td>\n<td>65MiB</td>\n<td>70MiB/s</td>\n</tr>\n<tr>\n<td>Filebeat</td>\n<td>3.2G</td>\n<td>10</td>\n<td>8</td>\n<td>11c</td>\n<td>65MiB</td>\n<td>80MiB/s</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n<td></td>\n<td></td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>Loggie</td>\n<td>3.2G</td>\n<td>1</td>\n<td>3</td>\n<td>2.1c</td>\n<td>60MiB</td>\n<td>120MiB/s</td>\n</tr>\n<tr>\n<td>Loggie</td>\n<td>3.2G</td>\n<td>1</td>\n<td>8</td>\n<td>2.4c</td>\n<td>68.7MiB</td>\n<td>120MiB/s</td>\n</tr>\n<tr>\n<td>Loggie</td>\n<td>3.2G</td>\n<td>10</td>\n<td>8</td>\n<td>3.5c</td>\n<td>70MiB</td>\n<td>210MiB/s</td>\n</tr>\n</tbody>\n</table></markdown-accessiblity-table>\n<h4 dir=\"auto\">Adaptive Sink Concurrency</h4>\n<p dir=\"auto\">With sink concurrency configuration enabled, Loggie can:</p>\n<ul dir=\"auto\">\n<li>Automatically adjust the downstream data sending parallelism based on the actual downstream data response, making full use of the downstream server's performance without affecting its performance.</li>\n<li>Adjust the downstream data sending speed appropriately when upstream data collection is blocked to relieve upstream blocking.</li>\n</ul>\n<h3 dir=\"auto\">Lightweight Streaming Data Analysis and Monitoring</h3>\n<p dir=\"auto\">Logs are a universal data type and are not related to platforms or systems. How to better utilize this data is the core capability that Loggie focuses on and develops.</p>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/3bb9b07cfb1519a0ca6dff3d7196fc423a5e58b34f1bd8a1e0e7693e99068ae8/68747470733a2f2f6c6f676769652d696f2e6769746875622e696f2f646f63732f757365722d67756964652f656e74657270726973652d70726163746963652f696d67732f6c6f676769652d636861696e2e706e67\"><img src=\"https://camo.githubusercontent.com/3bb9b07cfb1519a0ca6dff3d7196fc423a5e58b34f1bd8a1e0e7693e99068ae8/68747470733a2f2f6c6f676769652d696f2e6769746875622e696f2f646f63732f757365722d67756964652f656e74657270726973652d70726163746963652f696d67732f6c6f676769652d636861696e2e706e67\" alt=\"\" data-canonical-src=\"https://loggie-io.github.io/docs/user-guide/enterprise-practice/imgs/loggie-chain.png\" style=\"max-width: 100%;\"></a></p>\n<h4 dir=\"auto\">Real-time parsing and transformation</h4>\n<p dir=\"auto\">With the configuration of transformer interceptors and the configuration of functional actions, Loggie can achieve:</p>\n<ul dir=\"auto\">\n<li>Parsing of various data formats (json, grok, regex, split, etc.)</li>\n<li>Conversion of various fields (add, copy, move, set, del, fmt, etc.)</li>\n<li>Support for conditional judgment and processing logic (if, else, return, dropEvent, ignoreError, etc.)</li>\n</ul>\n<p dir=\"auto\">eg:</p>\n<div class=\"highlight highlight-source-yaml notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"interceptors:\n  - type: transformer\n    actions:\n      - action: regex(body)\n        pattern: (?&lt;ip&gt;\\S+) (?&lt;id&gt;\\S+) (?&lt;u&gt;\\S+) (?&lt;time&gt;\\[.*?\\]) (?&lt;url&gt;\\&quot;.*?\\&quot;) (?&lt;status&gt;\\S+) (?&lt;size&gt;\\S+)\n      - if: equal(status, 404)\n        then:\n          - action: add(topic, not_found)\n          - action: return()\n      - if: equal(status, 500)\n        then:\n          - action: dropEvent()\"><pre class=\"notranslate\"><span class=\"pl-ent\">interceptors</span>:\n  - <span class=\"pl-ent\">type</span>: <span class=\"pl-s\">transformer</span>\n    <span class=\"pl-ent\">actions</span>:\n      - <span class=\"pl-ent\">action</span>: <span class=\"pl-s\">regex(body)</span>\n        <span class=\"pl-ent\">pattern</span>: <span class=\"pl-s\">(?&lt;ip&gt;\\S+) (?&lt;id&gt;\\S+) (?&lt;u&gt;\\S+) (?&lt;time&gt;\\[.*?\\]) (?&lt;url&gt;\\\".*?\\\") (?&lt;status&gt;\\S+) (?&lt;size&gt;\\S+)</span>\n      - <span class=\"pl-ent\">if</span>: <span class=\"pl-s\">equal(status, 404)</span>\n        <span class=\"pl-ent\">then</span>:\n          - <span class=\"pl-ent\">action</span>: <span class=\"pl-s\">add(topic, not_found)</span>\n          - <span class=\"pl-ent\">action</span>: <span class=\"pl-s\">return()</span>\n      - <span class=\"pl-ent\">if</span>: <span class=\"pl-s\">equal(status, 500)</span>\n        <span class=\"pl-ent\">then</span>:\n          - <span class=\"pl-ent\">action</span>: <span class=\"pl-s\">dropEvent()</span></pre></div>\n<h4 dir=\"auto\">Detection, recognition, and alerting</h4>\n<p dir=\"auto\">Helps you quickly detect potential problems and anomalies in the data and issue timely alerts. Support custom webhooks to connect to various alert channels.</p>\n<p dir=\"auto\">Supports matching methods such as:</p>\n<ul dir=\"auto\">\n<li>No data: no log data generated within the configured time period.</li>\n<li>Fuzzy matching</li>\n<li>Regular expression matching</li>\n<li>Conditional judgment\n<ul dir=\"auto\">\n<li>Field comparison: equal/less/greater...</li>\n</ul>\n</li>\n</ul>\n<h4 dir=\"auto\">Log data aggregation and monitoring</h4>\n<p dir=\"auto\">Often, metric data is not only exposed through prometheus exporters, but log data itself can also provide a source of metrics. For example, by counting the access logs of a gateway, you can calculate the number of 5xx or 4xx status codes within a certain time interval, aggregate the qps of a certain interface, and calculate the total amount of body data, etc.</p>\n<p dir=\"auto\">eg:</p>\n<div class=\"highlight highlight-source-yaml notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"- type: aggregator\n  interval: 1m\n  select:\n    # operator：COUNT/COUNT-DISTINCT/SUM/AVG/MAX/MIN\n    - {key: amount, operator: SUM, as: amount_total}\n    - {key: quantity, operator: SUM, as: qty_total}\n  groupBy: [&quot;city&quot;]\n  calculate:\n    - {expression: &quot; ${amount_total} / ${qty_total} &quot;, as: avg_amount}\"><pre class=\"notranslate\">- <span class=\"pl-ent\">type</span>: <span class=\"pl-s\">aggregator</span>\n  <span class=\"pl-ent\">interval</span>: <span class=\"pl-c1\">1m</span>\n  <span class=\"pl-ent\">select</span>:\n    <span class=\"pl-c\"><span class=\"pl-c\">#</span> operator：COUNT/COUNT-DISTINCT/SUM/AVG/MAX/MIN</span>\n    - <span class=\"pl-s\">{key: amount, operator: SUM, as: amount_total}</span>\n    - <span class=\"pl-s\">{key: quantity, operator: SUM, as: qty_total}</span>\n  <span class=\"pl-ent\">groupBy</span>: <span class=\"pl-s\">[\"city\"]</span>\n  <span class=\"pl-ent\">calculate</span>:\n    - <span class=\"pl-s\">{expression: \" ${amount_total} / ${qty_total} \", as: avg_amount}</span></pre></div>\n<h3 dir=\"auto\">Observability and fast troubleshooting</h3>\n<ul dir=\"auto\">\n<li>\n<p dir=\"auto\">Loggie provides configurable and rich metrics, and dashboards that can be imported into Grafana with one click.</p>\n<a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/86efa535196a65c68b4f896c4a336e2d00e6fafe75469e9de9d7814b9c9977d2/68747470733a2f2f6c6f676769652d696f2e6769746875622e696f2f646f63732f757365722d67756964652f6d6f6e69746f722f696d672f67726166616e612d6167656e742d312e706e67\"><img src=\"https://camo.githubusercontent.com/86efa535196a65c68b4f896c4a336e2d00e6fafe75469e9de9d7814b9c9977d2/68747470733a2f2f6c6f676769652d696f2e6769746875622e696f2f646f63732f757365722d67756964652f6d6f6e69746f722f696d672f67726166616e612d6167656e742d312e706e67\" width=\"1000\" data-canonical-src=\"https://loggie-io.github.io/docs/user-guide/monitor/img/grafana-agent-1.png\" style=\"max-width: 100%;\"></a>\n</li>\n<li>\n<p dir=\"auto\">Quickly troubleshoot Loggie itself and any problems in data transmission by Loggie terminal.</p>\n<a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/230df6644cddbcd74b7d4d5fb32b5c422c4627e7adb8773c036cb68d548398be/68747470733a2f2f6c6f676769652d696f2e6769746875622e696f2f646f63732f757365722d67756964652f74726f75626c6573686f742f696d672f6c6f676769652d64617368626f6172642e706e67\"><img src=\"https://camo.githubusercontent.com/230df6644cddbcd74b7d4d5fb32b5c422c4627e7adb8773c036cb68d548398be/68747470733a2f2f6c6f676769652d696f2e6769746875622e696f2f646f63732f757365722d67756964652f74726f75626c6573686f742f696d672f6c6f676769652d64617368626f6172642e706e67\" width=\"1000\" data-canonical-src=\"https://loggie-io.github.io/docs/user-guide/troubleshot/img/loggie-dashboard.png\" style=\"max-width: 100%;\"></a>\n</li>\n</ul>\n<h2 dir=\"auto\">FAQs</h2>\n<h3 dir=\"auto\">Loggie vs Filebeat/Fluentd/Logstash/Flume</h3>\n<markdown-accessiblity-table><table role=\"table\">\n<thead>\n<tr>\n<th></th>\n<th>Loggie</th>\n<th>Filebeat</th>\n<th>Fluentd</th>\n<th>Logstash</th>\n<th>Flume</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Language</td>\n<td>Golang</td>\n<td>Golang</td>\n<td>Ruby</td>\n<td>JRuby</td>\n<td>Java</td>\n</tr>\n<tr>\n<td>Multiple Pipelines</td>\n<td>✓</td>\n<td>single queue</td>\n<td>single queue</td>\n<td>✓</td>\n<td>✓</td>\n</tr>\n<tr>\n<td>Multiple output</td>\n<td>✓</td>\n<td>one output</td>\n<td>copy</td>\n<td>✓</td>\n<td>✓</td>\n</tr>\n<tr>\n<td>Aggregator</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n</tr>\n<tr>\n<td>Log Alarm</td>\n<td>✓</td>\n<td></td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>Kubernetes container log collection</td>\n<td>support container stdout and logs files in container</td>\n<td>stdout</td>\n<td>stdout</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>Configuration delivery</td>\n<td>through CRD</td>\n<td>manual</td>\n<td>manual</td>\n<td>manual</td>\n<td>manual</td>\n</tr>\n<tr>\n<td>Monitoring</td>\n<td>support Prometheus metrics，and can be configured to output indicator log files separately, sending metrics, etc.</td>\n<td></td>\n<td>prometheus metrics</td>\n<td>need exporter</td>\n<td>need exporter</td>\n</tr>\n<tr>\n<td>Resource Usage</td>\n<td>low</td>\n<td>low</td>\n<td>average</td>\n<td>high</td>\n<td>high</td>\n</tr>\n</tbody>\n</table></markdown-accessiblity-table>\n<h2 dir=\"auto\"><a href=\"https://loggie-io.github.io/docs-en/\" rel=\"nofollow\">Documentation</a></h2>\n<h3 dir=\"auto\"><a href=\"https://loggie-io.github.io/docs-en/getting-started/overview/\" rel=\"nofollow\">Setup</a></h3>\n<ul dir=\"auto\">\n<li><a href=\"https://loggie-io.github.io/docs-en/getting-started/quick-start/quick-start/\" rel=\"nofollow\">Quickstart</a></li>\n<li>Installation (<a href=\"https://loggie-io.github.io/docs-en/getting-started/install/kubernetes/\" rel=\"nofollow\">Kubernetes</a>, <a href=\"https://loggie-io.github.io/docs-en/getting-started/install/node/\" rel=\"nofollow\">Node</a>)</li>\n</ul>\n<h3 dir=\"auto\"><a href=\"https://loggie-io.github.io/docs-en/user-guide/\" rel=\"nofollow\">User Guide</a></h3>\n<ul dir=\"auto\">\n<li><a href=\"https://loggie-io.github.io/docs-en/user-guide/architecture/core-arch/\" rel=\"nofollow\">Architecture</a></li>\n<li><a href=\"https://loggie-io.github.io/docs-en/user-guide/use-in-kubernetes/general-usage/\" rel=\"nofollow\">Kubernetes</a></li>\n<li><a href=\"https://loggie-io.github.io/docs-en/user-guide/monitor/loggie-monitor/\" rel=\"nofollow\">Monitoring</a></li>\n</ul>\n<h3 dir=\"auto\"><a href=\"https://loggie-io.github.io/docs-en/reference/\" rel=\"nofollow\">Reference</a></h3>\n<ul dir=\"auto\">\n<li><a href=\"https://loggie-io.github.io/docs-en/reference/global/args/\" rel=\"nofollow\">Args</a></li>\n<li><a href=\"https://loggie-io.github.io/docs-en/reference/global/monitor/\" rel=\"nofollow\">System</a></li>\n<li>Pipelines\n<ul dir=\"auto\">\n<li>Source: <a href=\"https://loggie-io.github.io/docs-en/reference/pipelines/source/file/\" rel=\"nofollow\">file</a>, <a href=\"https://loggie-io.github.io/docs-en/reference/pipelines/source/kafka/\" rel=\"nofollow\">kafka</a>, <a href=\"https://loggie-io.github.io/docs-en/reference/pipelines/source/kubeEvent/\" rel=\"nofollow\">kubeEvent</a>, <a href=\"https://loggie-io.github.io/docs-en/reference/pipelines/source/grpc/\" rel=\"nofollow\">grpc</a>, <a href=\"https://loggie-io.github.io/docs-en/reference/pipelines/source/elasticsearch/\" rel=\"nofollow\">elasticsearch</a>, <a href=\"https://loggie-io.github.io/docs-en/reference/pipelines/source/prometheus-exporter/\" rel=\"nofollow\">prometheusExporter</a>..</li>\n<li>Sink: <a href=\"https://loggie-io.github.io/docs-en/reference/pipelines/sink/elasticsearch/\" rel=\"nofollow\">elasticsearch</a>, <a href=\"https://loggie-io.github.io/docs-en/reference/pipelines/sink/kafka/\" rel=\"nofollow\">kafka</a>, <a href=\"https://loggie-io.github.io/docs-en/reference/pipelines/sink/grpc/\" rel=\"nofollow\">grpc</a>, <a href=\"https://loggie-io.github.io/docs-en/reference/pipelines/sink/loki/\" rel=\"nofollow\">loki</a>, <a href=\"https://loggie-io.github.io/docs-en/reference/pipelines/sink/zinc/\" rel=\"nofollow\">zinc</a>, <a href=\"https://loggie-io.github.io/docs-en/reference/pipelines/sink/webhook/\" rel=\"nofollow\">alertWebhook</a>, <a href=\"https://loggie-io.github.io/docs-en/reference/pipelines/sink/dev/\" rel=\"nofollow\">dev</a>..</li>\n<li>Interceptor: <a href=\"https://loggie-io.github.io/docs-en/reference/pipelines/interceptor/transformer/\" rel=\"nofollow\">transformer</a>, <a href=\"https://loggie-io.github.io/docs-en/reference/pipelines/interceptor/schema/\" rel=\"nofollow\">schema</a>, <a href=\"https://loggie-io.github.io/docs-en/reference/pipelines/interceptor/limit/\" rel=\"nofollow\">limit</a>, <a href=\"https://loggie-io.github.io/docs-en/reference/pipelines/interceptor/logalert/\" rel=\"nofollow\">logAlert</a>, <a href=\"https://loggie-io.github.io/docs-en/reference/pipelines/interceptor/maxbytes/\" rel=\"nofollow\">maxbytes</a>..</li>\n</ul>\n</li>\n<li>CRD: <a href=\"https://loggie-io.github.io/docs-en/reference/discovery/kubernetes/logconfig/\" rel=\"nofollow\">LogConfig</a>, <a href=\"https://loggie-io.github.io/docs-en/reference/discovery/kubernetes/clusterlogconfig/\" rel=\"nofollow\">ClusterLogConfig</a>, <a href=\"https://loggie-io.github.io/docs-en/reference/discovery/kubernetes/sink/\" rel=\"nofollow\">Sink</a>, <a href=\"https://loggie-io.github.io/docs-en/reference/discovery/kubernetes/interceptors/\" rel=\"nofollow\">Interceptor</a></li>\n</ul>\n<h2 dir=\"auto\">RoadMap</h2>\n<p dir=\"auto\"><a href=\"https://loggie-io.github.io/docs-en/getting-started/roadmap/roadmap-2023/\" rel=\"nofollow\">RoadMap 2023</a></p>\n<h2 dir=\"auto\">License</h2>\n<p dir=\"auto\"><a href=\"https://choosealicense.com/licenses/apache-2.0/\" rel=\"nofollow\">Apache-2.0</a></p>\n<h2 dir=\"auto\">Contributions</h2>\n<p dir=\"auto\">Pull requests, comments and suggestions are welcome.</p>\n<p dir=\"auto\">Please see <a href=\"CONTRIBUTING.md\">CONTRIBUTING.md</a> for more information.</p>","updatedAt":"2025-05-21T16:10:34Z","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":"数据管道","color":"fa3097"}},{"node":{"name":"loggie-io","color":"5b40ba"}}]},"comments":{"edges":[]}}},"pageContext":{"number":356,"previous":{"title":"localsend/localsend: 一个免费、开源的应用程序，允许你在本地网络上安全地与附近设备共享文件和消息，无需互联网连接","number":355},"next":{"title":"logto-io/logto: 专为现代应用程序和 SaaS 产品设计的 Auth0 替代方案。它提供无缝的开发人员体验，非常适合个人和成长型公司","number":357}}},
    "staticQueryHashes": ["151096407","2861350382"]}