@symfony_php

Страница 390 из 1418
Sergey
07.11.2017
20:39:22
у вас прометей и заббикс? зачем оба?
промитей бизнес метрики собирает, заббикс был раньше - пока не убрали да и не планировали)

Sergey
07.11.2017
20:39:45
выбирали между прометеусом и influxdb?

как вообще прометеус?

Google
Sergey
07.11.2017
20:40:03
ммм промитей показался проще

в целом промитей норм, для тех целей которые нам нужны были (трекать что после выкатки нового билда количество скажем заказов не упало резко и т.д.)

Sergey
07.11.2017
20:41:32
да неплохой кейс

у вас же докер вроде в проде? кубер?

Sergey
07.11.2017
20:45:23
у вас же докер вроде в проде? кубер?
переводим на него, пока только в паре мест. Этим вопросом уже не я заведую потому хз че там как

Sergey
07.11.2017
20:45:45
переводим на него, пока только в паре мест. Этим вопросом уже не я заведую потому хз че там как
а чем его мониторите? он вроде напрямую в прометеус неумеет экспорить метрики

Sergey
07.11.2017
20:46:24
ну короч не стоит на нас смотреть, все сделано на коленке и на скорую руку)

у меня другой вопрос - все ж в проде вырубают cross-finger хэндлер монолога?)

Sergey
07.11.2017
20:47:57
мы не юзаем crossfinger

пишем все INFO в gelf формате сразу по udp в грейлог

Bohdan
07.11.2017
21:11:36
у меня другой вопрос - все ж в проде вырубают cross-finger хэндлер монолога?)
честно признаюсь, что до сих пор не разобрался досконально с монологом и юзаю дефолт настройки чем кросс фингер плох?)

Google
Sergey
07.11.2017
21:36:40
это был сарказм?)

Bohdan
07.11.2017
21:37:00
не сказал бы

хотя у меня и прода нормального не было...

Sergey
07.11.2017
21:38:42
Drone CI юзали тут?

как оно в качестве замены дженкинса?

Bohdan
07.11.2017
21:46:44
Alan вроде хвалил

Sergey
07.11.2017
21:57:13
не сказал бы
цель логов не только в том что бы узнать что "что-то упало", но еще и разобраться почему. К примеру приходит к тебе в суппорт чел и говорит "ниработает!11" и у тебя есть два варианта развития событий исходя из того как ты логи настроил: - грепнуть логи по айдишке юзера и посмотреть что он делал и что у него происходило - потратить час времени, выслушать кучу матов в свой адрес из-за тупых вопросов, и в итоге не получить достаточно инфы о том что пользователь делал (ибо он всего точно не сможет выдать)

а еще можно приментивные меры - типа выпал эксепшен - глянул айдишку юзера и по тому же сценарию и уже не он в суппорт чуть что стучится а ты пишешь челикам заафеченным если что)

ну короч... что бы прочувствовать мощь логов надо пару месяцев в проде на суппорте посидеть...

причем силу их ты почувствуешь когда у тебя их сначала не будет))

Bohdan
07.11.2017
21:58:48
ну, это уже про крутые логи

Sergey
07.11.2017
21:58:58
крутые логи - это залог счастья

к этому надо с умом подходить

Bohdan
07.11.2017
21:59:22
для этого нужно время и деньги от заказчика

я хотел на прошлом elk поднять, но там сменился менеджмент и проект загнулся тихонько

Sergey
07.11.2017
21:59:43
еще должны быть трейсы настроены хорошо

trace_id, span_id, parent_span_id

и между сервисами и очередями это все сохранялось

Bohdan
07.11.2017
22:00:04
need more info

:)

Google
Bohdan
07.11.2017
22:00:12
тоже монолог?

Sergey
07.11.2017
22:00:29
чем больше информативных логов тем лучше

я хз че б мы без логов делали

щас нужно по метрикам тоже настроить все хорошо

Bohdan
07.11.2017
22:00:48
стектрейсы в логе - эт да

Sergey
07.11.2017
22:01:11
стректрейсы это не то

когда ты можешь цепочку вызовов между сервисами проследить - вот это трейсы

zipkin, dapper более адвансед версии

Sergey
07.11.2017
22:03:58
для этого нужно время и деньги от заказчика
1. настроить базовые логи нормально занимает пару часов (монолог уже многое делает за тебя) 2. что бы сделать нормальные логи нужно еще понимание проекта со стороны разработчиков 3. обосновать сколько чувак сэкономит на нормальных логах как бы проще чем обосновать что получит заказчик от тестов... а еще это можно не продавать)

Bohdan
07.11.2017
22:03:59
это, как вижу, слегка не из php стека тулзы

Sergey
07.11.2017
22:04:25
можно просто к каждому запросу уникальный идентификатор клеить и грепать

Bohdan
07.11.2017
22:07:26
1 - я один разработчик на проекте на данный момент (плюс тестировщики) кроме того, не хочется возиться с инфраструктурой - это либо парить девопса, который неизвестно когда сделает, либо тратить время самому, либо заворачивать в докер (о чем давно мечтаю, но см. пункт 1) 2 - с этим проблем нет, кроме необходимого рефакторинга 3 - текущий проект пока полноценно не запущен, потому обосновать заказчику будет сложновато возможно, после нг попытаюсь, параллельно с выбиванием кого-то мне в помощь на прошлом это было бы больше в тему (допиливание akeneo с синхронизацией с magento-магазином через soap и rabbitmq адаптер), там было под миллион продуктов, которые приходили с ерп на акенео и должны были уходить дальше - а могли не пройти валидацию или что-то другое упасть могло

на самом деле все сводится к убеждению заказчика)

Sergey
07.11.2017
22:28:48
можно просто к каждому запросу уникальный идентификатор клеить и грепать
так говоришь как будто реально грепаешь в консоли)

на самом деле заниматься логами, метриками и тд все должны разрабы

опсы и админы тебе всего лишь поставят ELK/Graylog, дадут флаг в руки и дальше сам пишешь что тебе надо и с этим работаешь. так же как и с метриками

а то получается что разрабы говорят - так это админы пусть делают, а админы говорят - так а че разрабы не пишут логи и в итоге никто этим не занимается

и получается дыра в зонах ответственности

Andrew
07.11.2017
22:53:18
пока разрабы не будут реально саппортом заниматься - логаться будет не то и не так и не туда :(

Google
Andrew
07.11.2017
22:54:25
кто там советует, 37signals каждому разрабу неделю в месяц сидить на саппорте?

Bohdan
07.11.2017
23:40:31
когда говорил про девопса - имел ввиду именно поднять всю инфраструктуру на трех серверах

Sergey
08.11.2017
04:50:14
короче лучше всего видимо брать эластик. пишут что он хорошо подходит для этого
Мы используем эластик для этих целей, удобно и очень нравится

Alan
08.11.2017
05:23:23
Drone CI юзали тут?
а что у вас дженкинс делает?

он то монстр. если просто пхпюнит прогнать, собрать образ и пушнуть в репо то дрон оч прост в настройке

Urmat
08.11.2017
05:54:44
Народ, как получить инстанс Fileб находящийся в директории var?

то есть я имею ввиду, что-то типа Yii::getAlias('@webroot')

Чтобы получилось что-то типа File::getInstanceFromAlias( "%kernel.root_dir%/var/data/station.csv" ) ?

Admin
ERROR: S client not available

Bohdan
08.11.2017
06:28:15
просто собери путь вручную из root dir и остальных частей там, где тебе надо

Urmat
08.11.2017
07:14:54
просто собери путь вручную из root dir и остальных частей там, где тебе надо
Спасибо, я решил, лучше закинуть путь в parameters.yml. Получилось, что-то типа: /** * @return File */ protected function getFile(): File { return new File( $this->container->getParameter( 'dump_stations_file' ) ); } #parameters.yml dump_stations_file: '%kernel.project_dir%/var/data/stations.csv'

Bohdan
08.11.2017
07:15:34
да, так тоже ок

Urmat
08.11.2017
07:15:48
просто собери путь вручную из root dir и остальных частей там, где тебе надо
Знаю, что не стоит весь контейнер пихать в сервис, но это fixtures. Как я понял, отправить туда конкретный сервис нельзя. По крайней мере у меня не получилось

Bohdan
08.11.2017
07:16:33
сходу сказать не могу, надо смотреть доку

Urmat
08.11.2017
07:19:27
Теперь другой вопрос. Я хочу, чтобы из массива создавался экземпляр класса. Может тыкнуть в какой-нибудь хороший паттерн или доку, как это лучше сделать?

Свойства в классе идентична ключам массива

Urmat
08.11.2017
07:24:33
https://symfony.com/doc/current/components/serializer.html
Во, как-раз то-что нужно

Константин
08.11.2017
07:46:27
Тут на днях кто-то обмолвился что Drone CI огонь. Этот человек ещё тут?)

Dmitry
08.11.2017
07:46:55
зловеще звучит ?

Google
Константин
08.11.2017
07:47:53
На самом деле нет) Хотел спросить, настраивал ли он Gated билды. Фича реализованная, но недокументированная.

Bohdan
08.11.2017
08:01:37
еще раз Alan прости меня за то, что дергаю, но тебя тут просят)

Константин
08.11.2017
08:03:48
Читать надо исходники, других источников похоже нет. Разраб отказался давать комментарии, так как пока не готов на это время тратить. Мол будет дока, потом...

Alan
08.11.2017
08:04:08
что то не гуглится даже)

что значит gated?

с доками там так себе да, но вроде обычно и не много надо чтоб настраивать

Константин
08.11.2017
08:05:42
что это такое?
Новая реализация подписи .drone.yml но теперь в виде плагина. То есть надо самому реализовать маленький плагин и включить в дроне gated на этот плагин. Этот плагин дрон будет запускать перед каждым билдом, плагин в итоге решает, будет дрон собирать этот билд или нет. Например через него можно запретить изменение .drone.yml

Alan
08.11.2017
08:06:55
ага а зачем например запрещать ?

Vladislav
08.11.2017
08:07:02
http://readme.drone.io/releases/0.6.0-rc.1/gating/

Ты об этом ?

Константин
08.11.2017
08:07:15
угу

Vladislav
08.11.2017
08:07:16
Хз, не настраивал

Константин
08.11.2017
08:08:03
ага а зачем например запрещать ?
Чтобы настроить деплой на прод. Без этого любой у кого есть доступ к push, может даже не в мастере убрать условие when и выполнить на проде всё что угодно

Подписи в Drone 0.8 то уже нет

Sergey
08.11.2017
08:10:01
дока конечно плачевная у них

Andrey
08.11.2017
08:18:44
В гитлабе такой кейс решили через protected runner-ы и secret variables. Спец. раннеры работают только на защищённых ветках и в билдах защищённые переменные доступны только на основных ветках

Таким образом деплой на прод не выполнится без credentials (т. к. они не доступны)

Константин
08.11.2017
08:26:19
Интересное решение. У дрона агенты вообще безликие. Ни состояния ни переменных.

Только адрес сервера и ключ доступа к нему

Страница 390 из 1418