Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
StabbinHobo
Oct 18, 2002

by Jeffrey of YOSPOS
cloudformation being terrible and terraform being worse (yep) is a lot of the reason i'm going in hard on k8s.

it doesn't completely solve the problem, but it removes 80-90% of it from being that layer's concern. so you can worry less about how much your tool of choice for that layer sucks.

Adbot
ADBOT LOVES YOU

StabbinHobo
Oct 18, 2002

by Jeffrey of YOSPOS
etc has always been hell at least its in mostly one place now

StabbinHobo
Oct 18, 2002

by Jeffrey of YOSPOS
now watch your webhooks randomly silently mysteriously fail once in awhile until you cave and go back to polling

StabbinHobo
Oct 18, 2002

by Jeffrey of YOSPOS

Erwin posted:

Yes. And more importantly, the Azure API.

I've never had to deal with the Azure API, but it sounds like the Azure API gives a 404 if provided a non-existent resource ID, instead of a more informative message about no resource existing with that ID. Therefore the Azure provider needs to guess at the meaning of a 404 and whether it indicates a missing resource or an actual problem. This is just conjecture, but there are quite a few issues around various 404 errors on the provider's github repo. It sounds like they have to provide 404 interpretation logic for each resource type.
what? it means Not Found, its the perfect http status code for that scenario.

loving web developers need everything in javascript

edit: <grumpy old man points to rfc> https://tools.ietf.org/html/rfc7231#section-6.5.4

StabbinHobo
Oct 18, 2002

by Jeffrey of YOSPOS

The Fool posted:

Does anyone have any opinions about Digital Oceans managed K8s offering?

I had it up and running and doing some basic volume stuff inside an hour, its a nice simple functioning offering. Only roadblock I hit was they don't do calico/networkpolicy so its not for larger-team/real-company/multi-tenant environments yet where "there should be firewall rules or something" is a requirement.

StabbinHobo
Oct 18, 2002

by Jeffrey of YOSPOS
honestly if you're getting away with a namespace per stack instead of a separate k8s cluster per stack, or worse per-tier-per-stack, thats a pretty big win. take it, get it done, then come back to config debates.

StabbinHobo
Oct 18, 2002

by Jeffrey of YOSPOS
how do y'all do your container registry on gcp?

meaning, if you have N environments, each inside their own gcp project... do you have each separate environment trigger off your repo and build their own containers that they put in their own registries in parallel/on-their-own? or do you create like a designated-registry-project that they all just pull from? if they share a registry-project then where are you putting the deploy hook that runs the 'kubectl set image' after the push?

StabbinHobo fucked around with this message at 18:15 on Feb 27, 2019

StabbinHobo
Oct 18, 2002

by Jeffrey of YOSPOS
code:
envsubst < whatever.yaml.template | kubectl apply -f -

StabbinHobo
Oct 18, 2002

by Jeffrey of YOSPOS
data is always way way harder than code

StabbinHobo
Oct 18, 2002

by Jeffrey of YOSPOS

Helianthus Annuus posted:

a 5,000 line, hand-crafted bash script called /usr/local/bin/fix_everything.sh that you run on an hourly cron

don't forget 2>&1 /dev/null

Adbot
ADBOT LOVES YOU

StabbinHobo
Oct 18, 2002

by Jeffrey of YOSPOS

Jerk McJerkface posted:

I've got an interesting question, and I was referred over here by a goon co-worker. We manage an application platform that has bunch of tomcats all running a variety of different servlets/webapps. One of our challenges is monitoring the performance of the servlets specifically. We use the standard JMX commands to get details on the tomcats, but I'd like to know through out the day the actual memory and threads used by each servlet (I suspect maybe that I can't get it per servlet, but maybe I can get it per java class, and since I know what class is in each servlet that could be equivalent). We have an ELK stack running that is tracking performance metrics already so if I could just get that data out of the tomcat in some format that'd be enough. If I can output it directly to logstash or beats or something it'd a plus.

In each tomcat we deploy several webapps each in their own path:

http://tomcat/servlet1
http://tomcat/servlet2
http://tomcat/servlet3

My ideal wish would be some Grafana/kibana dashboards for each tomcat, and then a couple line graphs for each servlet in that tomcat showing the threads, heap usage, and whatever other metrics I can get. If I can just get the heap usage per context/webapp I'd be happy enough. All the servlets are developed in house, so I can even get R&D to add jars to the builds, and since we manage the devops packages, I can add jars to our tomcat bundles as well, so I can basically do whatever I want as long as we can do it in ansible.

I know the jmv doesn't natively expose this type of data, and that you need to use something else. I've come across glowroot. We've installed it in a couple tomcats and it appears to produce the data I want, but I need to figure out how to query it using an API or something and pipe that data into ELK. I'm running in a dead end trying to expose the data. It writes to an h2 database, so I could possibly just parse it every five minutes but that's a real hacky solution.

Does anyone have any suggestions on this or experience with glowroot? If there's a better product, I'd be more than happy to check it out.

unfortunately i have nothing to offer solution wise, just a fearful warning

most metrics collection on jvms is waaaay too coarse resolution for the numbers on the heap to mean anything, specifically in terms of young-gen and the latency impact of gc pauses. I used to have to connect in with the VisualGC plugin on VisualVM and set the refresh rate to 100ms (so 10 datapoints per second). thats when you can actually see whats going on.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply